精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

面試官:你工作了3年了,這道算法題你都答不出來(lái)?

開(kāi)發(fā) 前端
什么樣的算法題能讓面試官對(duì)一個(gè)女孩說(shuō)出這么狠的話:你工作了3年了,這道算法題你都解不出來(lái)?

9月又是換工作的最佳時(shí)機(jī)。我幻想著只要換一份工作,就可以離開(kāi)這個(gè)“破碎的地方”,賺更多的錢(qián),做最舒服的事情,但事與愿違。

最近,一名女學(xué)生正在換工作。面試前她準(zhǔn)備了很多問(wèn)題。我以為她很有信心,結(jié)果卻在算法上吃了大虧。

什么樣的算法題能讓面試官對(duì)一個(gè)女孩說(shuō)出這么狠的話:你工作了3年了,這道算法題你都解不出來(lái)?

有效括號(hào)

這是LeetCode上的一道算法題,旨在考察考生對(duì)“棧”數(shù)據(jù)結(jié)構(gòu)的熟悉程度。我們來(lái)看一下。

給定一個(gè)僅包含字符‘(‘、‘)’、‘{‘、‘}’、‘[‘和‘]’的字符串 s,確定輸入字符串是否有效。

如果滿足以下條件,輸入字符串有效:開(kāi)括號(hào)必須由相同類型的括號(hào)括起來(lái)。左括號(hào)必須按正確的順序關(guān)閉。

示例1:

Input: s = "()"
Output: true

示例2:

Input: s = "()[]{}"
Output: true

示例3:

Input: s = "(]"
Output: false

示例4:

Input: s = "([)]"
Output: false

實(shí)施例5:

Input: s = "{[]}"
Output: true

限制條件:

  • 1 <= s.length <= 104
  • s 僅由括號(hào)‘()[]{}’組成

問(wèn)題信息

如果我們真的沒(méi)學(xué)過(guò)算法,也不知道那么多套路,那么通過(guò)問(wèn)題和例子來(lái)獲取盡可能多的信息是非常重要的。

那么,我們可以得到以下信息:

  • 字符串 s 的長(zhǎng)度必須是偶數(shù),不能是奇數(shù)(成對(duì)匹配)。
  • 右括號(hào)前面必須有左括號(hào)。

方法一:暴力消除法

得到以上信息后,我想既然[]、{}、()是成對(duì)出現(xiàn)的,那我是不是可以一一消除呢?如果最后的結(jié)果是空字符串,那不是就說(shuō)明符合題意了嗎?

例如:

Input: s = "{[()]}"


Step 1: The pair of () can be eliminated, and the result s is left with {[]}
Step 2: The pair of [] can be eliminated, and the result s is left with {}
Step 3: The pair of {} can be eliminated, and the result s is left with '', so it returns true in line with the meaning of the question

代碼:

const isValid = (s) => {
  while (true) {
    let len = s.length
    // Replace the string with '' one by one according to the matching pair
    s = s.replace('{}', '').replace('[]', '').replace('()', '')
    // There are two cases where s.length will be equal to len
    // 1. s is matched and becomes an empty string
    // 2. s cannot continue to match, so its length is the same as the len at the beginning, for example ({], len is 3 at the beginning, and it is still 3 after matching, indicating that there is no need to continue matching, and the result is false
    if (s.length === len) {
      return len === 0
    }
  }
}

暴力消除方式還是可以通過(guò)LeetCode的用例,但是性能差了一點(diǎn),哈哈。

方法二:使用“棧”來(lái)解決

主題信息中的第二項(xiàng)強(qiáng)調(diào)對(duì)稱性。棧(后進(jìn)先出)和(推入和彈出)正好相反,形成明顯的對(duì)稱性。

例如

Input: abc
Output: cba

“abc”和“cba”是對(duì)稱的,所以我們可以嘗試從堆棧的角度來(lái)解析:

Input: s = "{[()]}"


Step 1: read ch = {, which belongs to the left bracket, and put it into the stack. At this time, there is { in the stack.


Step 2: Read ch = [, which belongs to the left parenthesis, and push it into the stack. At this time, there are {[ in the stack.


Step 3: read ch = (, which belongs to the left parenthesis, and push it into the stack. At this time, there are {[( in the stack.


Step 4: Read ch = ), which belongs to the right parenthesis, try to read the top element of the stack (and ) just match, and pop ( out of the stack, at this time there are {[.


Step 5: Read ch = ], which belongs to the right parenthesis, try to read the top element of the stack [and ] just match, pop the [ out of the stack, at this time there are {.


Step 6: Read ch = }, which belongs to the right parenthesis, try to read the top element of the stack { and } exactly match, pop { out of the stack, at this time there is still '' in the stack.


Step 7: There is only '' left in the stack, s = "{[()]}" conforms to the valid bracket definition and returns true.

代碼

const isValid = (s) => {
  // The empty string character is valid
  if (!s) {
    return true
  }
  const leftToRight = {
    '(': ')',
    '[': ']',
    '{': '}'
  }
  const stack = []
  for (let i = 0, len = s.length; i < len; i++) {
    const ch = s[i]
    // Left parenthesis
    if (leftToRight[ch]) {
      stack.push(ch)
    } else {
      // start matching closing parenthesis
      // 1. If there is no left parenthesis in the stack, directly false
      // 2. There is data but the top element of the stack is not the current closing parenthesis
      if (!stack.length || leftToRight[ stack.pop() ] !== ch) {
        return false
      }
    }
  }
  // Finally check if the stack is empty
  return !stack.length
}

雖然暴力方案符合我們的常規(guī)思維,但是堆棧結(jié)構(gòu)方案會(huì)更加高效。

最后

在面試中,算法是否應(yīng)該成為評(píng)價(jià)候選人的重要指標(biāo),我們不會(huì)抱怨,但近年來(lái),幾乎每家公司都將算法納入了前端面試中。為了拿到自己喜歡的offer,復(fù)習(xí)數(shù)據(jù)結(jié)構(gòu)、刷題還是有必要的。

責(zé)任編輯:華軒 來(lái)源: web前端開(kāi)發(fā)
相關(guān)推薦

2020-06-17 21:22:56

Serverless面試官架構(gòu)

2024-07-26 08:47:07

2015-08-13 10:29:12

面試面試官

2023-02-07 13:51:11

SQLupdate語(yǔ)句

2024-10-14 08:01:09

阻塞死鎖狀態(tài)

2019-12-25 11:22:19

負(fù)載均衡集群算法

2020-12-03 07:39:50

HashMap底層數(shù)據(jù)

2024-04-02 09:45:27

線程池Executors開(kāi)發(fā)

2022-07-18 14:18:26

Babel代碼面試

2021-09-16 07:52:18

算法應(yīng)用場(chǎng)景

2021-08-26 13:22:09

JVM調(diào)優(yōu)參數(shù)

2023-11-27 07:37:50

面試協(xié)程池

2025-01-13 09:24:32

2021-08-09 07:47:40

Git面試版本

2015-08-24 09:00:36

面試面試官

2025-04-01 00:00:00

項(xiàng)目CRUD單例模式

2021-11-25 10:18:42

RESTfulJava互聯(lián)網(wǎng)

2021-09-01 09:44:16

Redis持久化配置

2020-05-29 10:18:58

python開(kāi)發(fā)代碼

2020-07-30 07:58:36

加密算法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品 欧美激情| 久久久精品三级| 秋霞欧美在线观看| 久久激情婷婷| www.亚洲一区| 在线免费看黄色片| 欧美成a人片在线观看久| 国产精品国产自产拍高清av王其 | 免费在线看黄网址| 欧美日韩一区二区三区在线电影 | 精品视频免费| 日韩美一区二区三区| 成熟了的熟妇毛茸茸| 91福利在线视频| 国产69精品久久777的优势| 日产精品99久久久久久| 欧美色图一区二区| 日韩成人综合| 亚洲精品国产综合区久久久久久久| 91色国产在线| 麻豆国产在线| 一区二区三区在线播| 欧美精品在线一区| 亚洲精品无遮挡| 麻豆视频观看网址久久| 91tv亚洲精品香蕉国产一区7ujn| 国产美女久久久久久| 夜色77av精品影院| 亚洲а∨天堂久久精品9966| www.精品在线| 日本综合久久| 欧美日韩国产在线| 国产自产在线视频| 91亚洲天堂| 国产精品国产三级国产普通话三级| 女女同性女同一区二区三区91| 亚洲国产精品欧美久久 | 日韩欧美第一页| 国产 欧美 日韩 一区| 日本三级视频在线观看| 国产欧美日产一区| 欧美精品免费观看二区| 色婷婷中文字幕| 国产91色综合久久免费分享| 91久久在线观看| 中文字幕理论片| 石原莉奈一区二区三区在线观看| 2019av中文字幕| 91蜜桃视频在线观看| 激情综合激情| 久久久久久久97| 国产一级黄色av| 午夜激情一区| 欧美国产高跟鞋裸体秀xxxhd| 国产精品白丝喷水在线观看| 亚州av乱码久久精品蜜桃| 中文字幕在线观看亚洲| 国产破处视频在线观看| 欧美特黄一级大片| 一区二区中文字幕| 国产一二三四视频| 香蕉视频国产精品| 欧美成人手机在线| 国产主播在线观看| 日韩一级在线| 国产91在线高潮白浆在线观看| 丰满少妇xoxoxo视频| 天堂成人免费av电影一区| 国产精品吊钟奶在线| 中文字幕久久久久| 国产精品一级在线| 国产精品日本一区二区 | 91视频免费观看| 欧美动漫一区二区| av中文字幕在线| **性色生活片久久毛片| 日韩亚洲欧美一区二区| 538视频在线| 日韩欧美亚洲成人| wwwxxx黄色片| 91成人精品观看| 欧美一级片在线看| 国产成人精品无码片区在线| 欧美日韩爱爱| 菠萝蜜影院一区二区免费| 欧美黄色免费看| 国产日韩一区| 91精品久久久久久久久不口人| 精品久久久久中文慕人妻| 99综合电影在线视频| 特级西西444www大精品视频| 一二三四区在线观看| 欧美日韩久久久久| 91高清国产视频| 澳门成人av| 亚洲天堂av女优| 美女福利视频在线观看| 在线一区欧美| 成人免费午夜电影| 性插视频在线观看| 国产精品福利电影一区二区三区四区 | 欧美在线一级视频| 国产精品久久久久久无人区| 99久久99精品久久久久久| 亚洲国产精品视频一区| 国产三级伦理在线| 欧美三级欧美一级| 精品国产一区在线| 久久精品久久久| 日韩免费视频在线观看| 超碰免费在线97| 欧美国产精品专区| www.av中文字幕| 国产一区二区三区免费在线| 亚洲美女中文字幕| 国产精品第56页| 久久电影网电视剧免费观看| 久久影院理伦片| 男女在线观看视频| 欧美久久久久中文字幕| 亚洲天堂久久新| 亚洲欧洲另类| 91精品国产高清久久久久久91裸体| 国产无套粉嫩白浆在线2022年 | 成年人看的毛片| 日韩一区中文| 在线观看欧美日韩| 精品人妻一区二区三区潮喷在线| 成人国产在线观看| 五月天激情图片| 日韩精品第二页| 日韩视频中文字幕| 最新在线中文字幕| 国产天堂亚洲国产碰碰| 欧美韩国日本在线| 美女午夜精品| 97视频在线免费观看| 性生活三级视频| 亚洲精品国产视频| 日本少妇激三级做爰在线| 久久精品国产www456c0m| 国产成人精品一区| 九色视频网站在线观看| 欧美日韩在线视频一区二区| 精品国产人妻一区二区三区| 在线看片欧美| 国产一级特黄a大片99| 50度灰在线| 日韩免费一区二区| 老女人性淫交视频| 成人免费毛片aaaaa**| 国产一区 在线播放| 一本色道69色精品综合久久| 欧美噜噜久久久xxx| www.色呦呦| 亚洲高清不卡在线| 99久久人妻无码中文字幕系列| 亚洲三级免费| 精品日本一区二区| 日本在线播放一二三区| 亚洲欧美国产精品| 一级黄色av片| 国产精品网站一区| www.污网站| 黄色另类av| 麻豆成人av| 在线成人视屏 | 可以免费看av的网址| 精品一区二区三区蜜桃| 国产盗摄视频在线观看| 91精品尤物| 97成人在线视频| yjizz视频网站在线播放| 欧美日韩亚洲综合一区 | 最新国产在线观看| 欧美一区二区三区四区久久| 国产亚洲欧美精品久久久www| 97久久超碰国产精品电影| 午夜精品久久久内射近拍高清| re久久精品视频| 91香蕉嫩草影院入口| 波多野结衣在线高清| 亚洲乱码国产乱码精品精天堂 | 亚洲国产高清自拍| chinese国产精品| 中文字幕一区av| 国产精品成人无码专区| 日日嗨av一区二区三区四区| 免费看啪啪网站| 久久悠悠精品综合网| 国产精品日韩欧美综合| 免费在线国产视频| 伊人久久五月天| 精品人妻一区二区三区含羞草| 欧美日韩激情视频| 女同久久另类69精品国产| 丰满岳乱妇一区二区三区| 欧美日韩一区二区在线免费观看 | 免费拍拍拍网站| 欧美亚洲国产精品久久| 国产v亚洲v天堂无码| 成人激情视屏| 久久乐国产精品| 免费在线观看黄| 日韩高清有码在线| 国产熟女一区二区丰满| 欧美在线观看18| 国产成人亚洲欧洲在线| 国产精品久久久久久户外露出| 人妻丰满熟妇aⅴ无码| 国产伦精品一区二区三区免费迷 | 2023国产精品| 欧美一级片在线免费观看| 久久国内精品自在自线400部| 五月丁香综合缴情六月小说| 亚洲国产精品久久久天堂| 三区精品视频| 妖精视频一区二区三区免费观看| 99久久精品久久久久久ai换脸| 欧美日韩精品免费观看视欧美高清免费大片 | 男人的天堂亚洲| 国产免费一区二区视频| 亚洲综合中文| 天天综合色天天综合色hd| 亚洲传媒在线| 精品国产乱码久久久久久丨区2区| 警花av一区二区三区| 成人精品在线视频| 国产精品成人国产| 国产精品久久久久91| 韩国美女久久| 69久久夜色精品国产69乱青草| 日本在线视频中文有码| 久久中国妇女中文字幕| 久草中文在线| 久久国产精品影片| 国产激情视频在线| 久久深夜福利免费观看| 免费在线观看av| 社区色欧美激情 | www.亚洲.com| 中文字幕亚洲欧美| 91精品大全| xvideos亚洲人网站| 男人的天堂在线视频免费观看| 中文日韩在线视频| 思思99re6国产在线播放| 在线看日韩欧美| aaa日本高清在线播放免费观看| 亚洲视频在线观看| 成人亚洲综合天堂| 色哟哟亚洲精品一区二区| chinese偷拍一区二区三区| 中文字幕亚洲综合久久| 免费看a在线观看| 久久视频国产精品免费视频在线| av文字幕在线观看| 欧美成aaa人片免费看| 日本一级理论片在线大全| 久久久久亚洲精品成人网小说| 国产经典三级在线| 欧美在线免费视频| 欧美日韩激情电影| 91久久精品国产| 综合激情久久| 免费亚洲精品视频| 成人羞羞网站入口免费| gogogo免费高清日本写真| 欧美精品日韩| 国产高清精品在线观看| 人禽交欧美网站| 夜夜夜夜夜夜操| 丁香网亚洲国际| 国精产品一区一区三区免费视频| 国产嫩草影院久久久久| 老熟妻内射精品一区| 亚洲福利国产精品| 国产午夜精品久久久久| 欧美精品在线视频| 俄罗斯嫩小性bbwbbw| 亚洲精品一区二区网址| 精品孕妇一区二区三区| 久久久久久国产| 成人国产一区二区三区精品麻豆| 亚洲精品日韩av| 亚洲精品动态| ijzzijzzij亚洲大全| 在线一区免费观看| 欧美一级特黄aaa| 99视频一区二区| 黄色裸体一级片| 亚洲高清视频在线| 中文字幕在线播放日韩| 亚洲成人黄色网址| 日韩毛片久久久| 992tv在线成人免费观看| 免费一级欧美在线观看视频| 激情小说综合区| 97在线精品| 国产xxxxx在线观看| 国产麻豆精品一区二区| 蜜桃传媒一区二区亚洲| 一区二区三区成人| 中文av免费观看| 亚洲成人激情图| 国产原创精品视频| 国产不卡视频在线| 精品三级av| 老司机av福利| 日韩高清一级片| 亚洲欧美在线不卡| 一区二区三区色| 日韩国产成人在线| 日韩成人小视频| 人交獸av完整版在线观看| 国产精品久久久久久网站| 日韩高清影视在线观看| 国产成人在线小视频| 久久99精品久久久久久动态图| 能免费看av的网站| 激情懂色av一区av二区av| 国产熟女一区二区丰满| 丝袜情趣国产精品| 99只有精品| 日韩理论片在线观看| 国产精品久久久久毛片大屁完整版| ass极品水嫩小美女ass| 专区另类欧美日韩| 亚洲天堂网在线视频| 国产一区二区三区欧美| 中文字幕在线直播| 久久国产精品免费一区| 亚洲精华国产欧美| 亚洲av无码专区在线播放中文| 亚洲色图第一区| 国产又大又长又粗| 久久精品国产69国产精品亚洲 | xxx性欧美| 春色成人在线视频| 极品中文字幕一区| 精品视频站长推荐| 天天色综合天天| 三级理论午夜在线观看| 97国产精品免费视频| 农村少妇一区二区三区四区五区| av免费看网址| 不卡欧美aaaaa| 日韩av在线播| 日韩av综合网| 男人最爱成人网| 无遮挡亚洲一区| 日本怡春院一区二区| 成人性视频免费看| 91精品国产一区二区| 亚洲按摩av| 国产精品一区二区三区免费| 夜夜嗨一区二区| 欧美激情aaa| 欧美少妇一区二区| 黄色在线播放网站| 成人资源av| 午夜一级久久| 免费观看a级片| 在线不卡中文字幕播放| 性欧美ⅴideo另类hd| 国产精品毛片一区视频| 午夜一区二区三区不卡视频| 国内精品卡一卡二卡三| 欧美一区三区四区| 麻豆免费在线| 日本一区免费看| 国产一区免费电影| 亚洲国产综合久久| 亚洲日本欧美中文幕| 伊人久久大香伊蕉在人线观看热v 伊人久久大香线蕉综合影院首页 伊人久久大香 | 亚洲欧美日本国产有色 | 人人妻人人藻人人爽欧美一区| 欧美视频一二三区| 菠萝蜜视频国产在线播放| 国产美女精品久久久| 日韩中文字幕亚洲一区二区va在线| 99re6热在线精品视频| 欧美成人高清电影在线| 亚洲天堂一区二区| 超碰超碰超碰超碰超碰| 久久精品这里都是精品| av资源免费看| 国产成人精品网站| 欧美区亚洲区| av永久免费观看| 精品国产乱码久久久久久蜜臀| 色香欲www7777综合网| 97久久国产亚洲精品超碰热| 久久精品免费在线观看| 国产夫绿帽单男3p精品视频| 4438全国亚洲精品在线观看视频| 91精品国产乱码久久久久久久 | mm131国产精品| 亚洲 欧美综合在线网络| 欧美13一16娇小xxxx|