精品欧美一区二区三区在线观看 _久久久久国色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)

99视频精品全部免费在线视频| 成人观看网址| 久久www免费人成看片高清| 中文在线资源观看视频网站免费不卡| 亚洲污视频在线观看| 二区三区在线观看| 91蝌蚪porny成人天涯| 国产精品日本精品| 日韩免费av片| 欧美国产一级| 亚洲激情在线观看视频免费| mm1313亚洲国产精品无码试看| 欧美jizz18hd性欧美| 成人黄色av网站在线| 国产精品无av码在线观看| 久久久久成人网站| 日韩在线视屏| 精品无人区太爽高潮在线播放 | 91精品国产91久久久久久最新毛片| 久久av综合网| 调教视频免费在线观看| 91丨porny丨最新| 亚洲综合精品一区二区| 免费看污视频的网站| 欧美区日韩区| 日韩中文字幕不卡视频| www.超碰97| 美女久久精品| 欧美日本视频在线| 十八禁视频网站在线观看| 日本高清在线观看| 亚洲人一二三区| 亚洲ai欧洲av| 欧美日韩伦理片| 成人三级在线视频| 91精品网站| 国产婷婷一区二区三区久久| 日韩国产精品久久久| **欧美日韩vr在线| 日韩av综合在线| 国产精品黄色| 九九热精品视频国产| 三级在线观看免费大全| 精品视频久久| 亚洲黄色片网站| 天堂www中文在线资源| 香蕉成人app| 欧美精选一区二区| www.夜夜爽| 青青青国产精品| 欧美日韩一区小说| 中文字幕精品一区二区三区在线| 国精产品一区二区三区有限公司| 欧美小视频在线| 成人av一级片| 在线成人av观看| 色婷婷综合五月| 精品久久久噜噜噜噜久久图片| 自拍在线观看| 色综合久久综合网| 爱情岛论坛vip永久入口| 综合在线影院| 欧美三级视频在线观看| 成人日韩在线视频| 国产精品18| 日韩精品一区二区三区四区视频| 国产chinesehd精品露脸| 97久久综合精品久久久综合| 亚洲成色www8888| 久久午夜夜伦鲁鲁片| 天堂成人娱乐在线视频免费播放网站| 日韩av在线一区二区| 中文字幕高清视频| 成人影视亚洲图片在线| 北条麻妃99精品青青久久| 黑鬼狂亚洲人videos| 国精品一区二区三区| 97久久精品视频| 国产污视频网站| 久久 天天综合| 懂色一区二区三区av片| 无码国产伦一区二区三区视频| 91原创在线视频| 婷婷五月色综合| 99在线视频观看| 欧美日韩国产精品一区二区三区四区| 草草草在线视频| 久久国产精品美女| 日韩精品高清在线观看| 国产精品www爽爽爽| 欧美在线高清| 欧美洲成人男女午夜视频| 中文字幕一区2区3区| 国产盗摄一区二区三区| 欧美精品成人一区二区在线观看 | 日韩最新av在线| 日韩毛片在线视频| 麻豆成人91精品二区三区| 97人人澡人人爽| 国产在线日本| 亚洲精选视频免费看| 国产午夜伦鲁鲁| 成人在线视频国产| 亚洲桃花岛网站| 免费一级黄色大片| 日本不卡视频在线| 国产一区二区三区四区五区在线| 国产原创av在线| 亚洲福利一区二区| 亚洲高清视频免费| 久久99影视| 久久久久久成人精品| 伊人久久国产精品| 2023国产精品自拍| 97久久国产亚洲精品超碰热| 电影一区电影二区| 日韩国产欧美区| 久久99久久久| 久久97超碰国产精品超碰| 女女同性女同一区二区三区91| 国产原创视频在线观看| 在线观看成人免费视频| 日韩综合第一页| 你懂的国产精品| 成人精品一区二区三区电影免费| 青青操视频在线| 性做久久久久久久免费看| 成人亚洲免费视频| 国产一区二区三区网| 98精品在线视频| 亚洲第一视频在线| 亚洲激情在线播放| 涩多多在线观看| 91九色精品国产一区二区| 国产精品久久久久久久久借妻 | 中文字幕你懂的| 久久在线观看免费| 亚洲午夜精品久久久久久人妖| 91精品尤物| 欧美激情视频播放| 朝桐光av在线一区二区三区| 中文字幕一区二区三区不卡| 天天干天天爽天天射| 欧洲乱码伦视频免费| 国产成人涩涩涩视频在线观看| 天天爱天天干天天操| 亚洲超碰97人人做人人爱| 麻豆av免费看| 亚洲性人人天天夜夜摸| 国产一区二区三区奇米久涩| 182在线视频观看| 日韩精品欧美国产精品忘忧草| 国产真实夫妇交换视频| av不卡一区二区三区| 国内精品在线观看视频| 欧美电影完整版在线观看| 91产国在线观看动作片喷水| 五月天婷婷视频| 欧美性猛交xxxx乱大交3| 美女久久久久久久久久| 日本特黄久久久高潮| 亚洲精品视频一二三| 欧洲午夜精品| 欧美激情xxxx| 午夜视频在线免费播放| 色综合久久综合网97色综合| 你懂得视频在线观看| 黑人巨大精品欧美黑白配亚洲| 黄色一级片网址| 999久久精品| 91精品国产99| 成人免费在线观看| 91精品国产色综合久久久蜜香臀| 免费一级黄色大片| 久久天天做天天爱综合色| 9久久婷婷国产综合精品性色| 日韩在线欧美| 国产99视频精品免费视频36| 在线免费看h| 久久精品视频导航| 欧洲成人一区二区三区| 色丁香久综合在线久综合在线观看| 日本综合在线观看| 国产激情偷乱视频一区二区三区| 毛片在线播放视频| 欧美码中文字幕在线| 亚洲尤物视频网| 日韩电影毛片| 久久久电影免费观看完整版| 欧美一级片免费| 在线观看国产91| 久久精品视频6| 国产欧美一区二区精品性色超碰| 一级黄色在线播放| 中文在线不卡| 午夜啪啪福利视频| 蜜桃精品噜噜噜成人av| 成人综合国产精品| 亚洲美女久久精品| 久久久精品免费| 六十路在线观看| 欧美成人性福生活免费看| www.久久视频| 亚洲va中文字幕| 欧美日韩午夜视频| 久久精品一区二区三区不卡| 免费不卡av网站| 日韩极品在线观看| 国产原创popny丨九色| 久久久久久久久久久9不雅视频| 久久av免费一区| 亚洲大奶少妇| 成人激情免费在线| 国产 日韩 欧美一区| 国内精品久久久久久久久| 日本韩国在线视频爽| 亚洲精品美女在线| 亚洲成人av综合| 在线播放/欧美激情| 欧美一区二区三区网站| 一区二区在线看| 2017亚洲天堂| 欧美激情一区二区三区四区| yy6080午夜| 天天爽人人爽夜夜爽| 亚洲欧美日韩国产一区二区| 91网站在线观看免费| 亚洲国产一成人久久精品| 日韩一区二区电影在线观看| 日韩av系列| 国产一区二区三区免费不卡| 99re热精品视频| 91在线在线观看| 国产精选久久| 91久久久久久久久久久| 欧美综合社区国产| 国产在线一区二区三区| jizz久久久久久| 国产精品伦子伦免费视频| 韩国三级一区| 国产脚交av在线一区二区| 日本免费久久| 日本最新高清不卡中文字幕| 欧美13videosex性极品| 7777精品视频| 亚洲优女在线| 欧美亚洲激情视频| 韩国美女久久| 国产精品极品在线| 久久99国产精品二区高清软件| 国产精品欧美在线| 成人51免费| 亚洲影影院av| 里番精品3d一二三区| 国产66精品久久久久999小说| av一级亚洲| 精品国产一区二区三区麻豆免费观看完整版 | 亚洲成av人电影| 国产精品88久久久久久妇女| 亚洲精品a级片| 国产欧美精品aaaaaa片| 亚洲高清激情| 国产91在线视频观看| 久久精品在线| 污污的网站18| 国产一区免费电影| 91porn在线| 久久亚洲私人国产精品va媚药| 级毛片内射视频| 中日韩免费视频中文字幕| 最新一区二区三区| 亚洲国产日韩a在线播放| 日韩欧美成人一区二区三区| 在线亚洲精品福利网址导航| 91tv国产成人福利| 欧美tickling网站挠脚心| 亚洲欧美日韩精品永久在线| 亚洲天堂色网站| 超碰超碰在线| 欧美一级大片视频| 亚洲影视资源| 国产中文一区二区| 日韩理论电影院| 69精品丰满人妻无码视频a片| 最新成人av网站| 国产九九在线视频| 大美女一区二区三区| a天堂中文字幕| 亚洲精品综合在线| 国产99免费视频| 日韩美女在线视频| 免费在线超碰| 久久99精品久久久久久噜噜| 亚洲女同志freevdieo| 国产一区二区丝袜| 久久亚洲道色| avove在线观看| 久久激情视频| 伊人影院在线观看视频| 国产午夜精品在线观看| 久久免费公开视频| 欧美色手机在线观看| 免费观看毛片网站| 丝袜美腿精品国产二区| 免费h视频在线观看| 成人淫片在线看| 国产欧美一区二区精品久久久| 日本道在线视频| 日本不卡一二三区黄网| 中国极品少妇videossexhd| 中文字幕日韩精品一区| 香蕉影院在线观看| 精品av久久707| 国产写真视频在线观看| 国产精品成人aaaaa网站| japanese色系久久精品| 国产又爽又黄ai换脸| 日精品一区二区三区| 欧美成人三级伦在线观看| 亚洲乱码日产精品bd| 在线观看亚洲国产| 亚洲欧美国产精品| 高清在线视频不卡| 99精品国产高清在线观看| 亚洲欧美色图| 在线观看岛国av| 国产精品第13页| 羞羞色院91蜜桃| 亚洲午夜国产成人av电影男同| 国产精品蜜芽在线观看| av免费精品一区二区三区| 久久久久av| 国产无色aaa| 国产精品久久久久久久久免费樱桃 | 一边摸一边做爽的视频17国产| 亚洲日本va午夜在线影院| 一区二区三区日| 日韩在线观看免费av| 成人在线免费av| 亚洲欧美99| 蜜桃久久av一区| 日韩欧美视频免费观看| 欧美午夜在线一二页| 高清日韩av电影| 国产乱肥老妇国产一区二 | 91porny九色| 一区二区欧美久久| 影音成人av| 一区二区三区欧美成人| 极品少妇一区二区| 日韩一区二区三区四区在线| 欧美一区二区三区系列电影| 影音先锋在线视频| 国产精品久久久久久久天堂第1集| 欧美精品18| 亚洲av永久无码精品| 欧美日韩国产中文字幕| 久久米奇亚洲| 国产精品视频色| 亚洲综合激情在线| 苍井空张开腿实干12次| 亚洲成年人网站在线观看| 丝袜视频国产在线播放| 国产成人综合av| 91亚洲人成网污www| 欧美高清精品一区二区| 午夜久久久久久久久| 激情小视频在线| 国产美女久久久| 欧美日韩国产色综合一二三四| 国产污在线观看| 在线观看成人小视频| 菠萝菠萝蜜在线视频免费观看| 97人人澡人人爽| 久久久久国产精品一区二区| ass极品国模人体欣赏| 91精品国产综合久久国产大片| 青草在线视频| 欧美日韩精品综合| 国产自产2019最新不卡| 日韩欧美亚洲国产| 在线观看欧美日韩| 91国内精品白嫩初高生| 9久久婷婷国产综合精品性色 | 国产欧美视频在线| 国产毛片视频网站| 国产精品免费看片| 黄色av网址在线| 国产精品嫩草视频| 在线国产欧美| 精品国产国产综合精品| 亚洲福利视频二区| 欧美97人人模人人爽人人喊视频| 超碰成人免费在线| 国产精品麻豆网站| 欧美色18zzzzxxxxx| 99热在线国产| 免费在线视频一区| 国产成人无码精品久在线观看| 色狠狠av一区二区三区香蕉蜜桃|