日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

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

來源: 責編: 時間:2023-09-21 20:46:47 397觀看
導讀9月又是換工作的最佳時機。我幻想著只要換一份工作,就可以離開這個“破碎的地方”,賺更多的錢,做最舒服的事情,但事與愿違。最近,一名女學生正在換工作。面試前她準備了很多問題。我以為她很有信心,結果卻在算法上吃了大虧

9月又是換工作的最佳時機。我幻想著只要換一份工作,就可以離開這個“破碎的地方”,賺更多的錢,做最舒服的事情,但事與愿違。oTG28資訊網——每日最新資訊28at.com

oTG28資訊網——每日最新資訊28at.com

最近,一名女學生正在換工作。面試前她準備了很多問題。我以為她很有信心,結果卻在算法上吃了大虧。oTG28資訊網——每日最新資訊28at.com

什么樣的算法題能讓面試官對一個女孩說出這么狠的話:你工作了3年了,這道算法題你都解不出來?oTG28資訊網——每日最新資訊28at.com

有效括號

這是LeetCode上的一道算法題,旨在考察考生對“棧”數據結構的熟悉程度。我們來看一下。oTG28資訊網——每日最新資訊28at.com

給定一個僅包含字符‘(‘、‘)’、‘{‘、‘}’、‘[‘和‘]’的字符串 s,確定輸入字符串是否有效。oTG28資訊網——每日最新資訊28at.com

如果滿足以下條件,輸入字符串有效:開括號必須由相同類型的括號括起來。左括號必須按正確的順序關閉。oTG28資訊網——每日最新資訊28at.com

示例1:oTG28資訊網——每日最新資訊28at.com

Input: s = "()"Output: true

示例2:oTG28資訊網——每日最新資訊28at.com

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

示例3:oTG28資訊網——每日最新資訊28at.com

Input: s = "(]"Output: false

示例4:oTG28資訊網——每日最新資訊28at.com

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

實施例5:oTG28資訊網——每日最新資訊28at.com

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

限制條件:oTG28資訊網——每日最新資訊28at.com

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

問題信息oTG28資訊網——每日最新資訊28at.com

如果我們真的沒學過算法,也不知道那么多套路,那么通過問題和例子來獲取盡可能多的信息是非常重要的。oTG28資訊網——每日最新資訊28at.com

那么,我們可以得到以下信息:oTG28資訊網——每日最新資訊28at.com

  • 字符串 s 的長度必須是偶數,不能是奇數(成對匹配)。
  • 右括號前面必須有左括號。

方法一:暴力消除法

得到以上信息后,我想既然[]、{}、()是成對出現的,那我是不是可以一一消除呢?如果最后的結果是空字符串,那不是就說明符合題意了嗎?oTG28資訊網——每日最新資訊28at.com

例如:oTG28資訊網——每日最新資訊28at.com

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

代碼:oTG28資訊網——每日最新資訊28at.com

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    }  }}

暴力消除方式還是可以通過LeetCode的用例,但是性能差了一點,哈哈。oTG28資訊網——每日最新資訊28at.com

方法二:使用“?!眮斫鉀Q

主題信息中的第二項強調對稱性。棧(后進先出)和(推入和彈出)正好相反,形成明顯的對稱性。oTG28資訊網——每日最新資訊28at.com

例如oTG28資訊網——每日最新資訊28at.com

Input: abcOutput: cba

“abc”和“cba”是對稱的,所以我們可以嘗試從堆棧的角度來解析:oTG28資訊網——每日最新資訊28at.com

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.

代碼oTG28資訊網——每日最新資訊28at.com

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}

雖然暴力方案符合我們的常規思維,但是堆棧結構方案會更加高效。oTG28資訊網——每日最新資訊28at.com

最后

在面試中,算法是否應該成為評價候選人的重要指標,我們不會抱怨,但近年來,幾乎每家公司都將算法納入了前端面試中。為了拿到自己喜歡的offer,復習數據結構、刷題還是有必要的。oTG28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-10891-0.html面試官:你工作了3年了,這道算法題你都答不出來?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 一文讀懂分布式追蹤:過去、現在和未來

下一篇: CSS實現十個功能強大的一行布局技巧

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
黄页网站一区| 欧美超级免费视 在线| 亚洲美女视频在线免费观看| 亚洲精品五月天| 亚洲一区二区三区在线视频| 午夜精品福利一区二区三区av| 久久av老司机精品网站导航| 久久综合久久综合这里只有精品| 欧美精品成人91久久久久久久| 国产精品99一区二区| 国产视频久久| 亚洲高清自拍| 亚洲一区二区精品在线| 久久精品九九| 欧美日韩国产在线看| 国产农村妇女精品| 亚洲高清视频中文字幕| 一区二区三区久久| 久久精品国产精品亚洲| 欧美国产日本在线| 国产精品一区二区久久| 亚洲高清毛片| 亚洲欧美成人综合| 蜜桃av综合| 国产精品青草久久| 亚洲第一中文字幕| 亚洲资源av| 女人色偷偷aa久久天堂| 国产精品久久久久永久免费观看 | 欧美日韩国产精品专区| 国产一区av在线| 日韩一级黄色大片| 久久理论片午夜琪琪电影网| 欧美手机在线| **性色生活片久久毛片| 亚洲欧美日韩在线| 欧美精品二区| 狠狠色狠狠色综合日日小说| 亚洲一区www| 欧美精品www| 一区精品在线| 欧美一二三区精品| 欧美三级午夜理伦三级中视频| 在线观看欧美视频| 欧美在线短视频| 国产精品porn| 日韩网站在线看片你懂的| 久久午夜精品一区二区| 国产精品亚洲片夜色在线| 日韩一级大片| 欧美激情一区二区三区全黄| 精品不卡视频| 久久精品盗摄| 国产伦精品一区二区三区高清| 99精品欧美一区二区三区综合在线| 久久阴道视频| 国产在线精品二区| 性欧美暴力猛交69hd| 国产精品二区在线| 在线视频你懂得一区| 欧美精品aa| 亚洲国产欧美一区| 久久香蕉国产线看观看网| 国产伪娘ts一区| 性8sex亚洲区入口| 国产精品日韩专区| 亚洲综合大片69999| 欧美午夜宅男影院| 这里只有视频精品| 欧美日韩一区二区在线播放| 亚洲美女尤物影院| 欧美精品在线视频| 亚洲另类一区二区| 欧美精品一区二区三区蜜桃 | 国产亚洲综合在线| 欧美一区二区三区另类| 国产精品性做久久久久久| 亚洲天堂激情| 欧美三级视频在线播放| 夜夜爽99久久国产综合精品女不卡| 欧美国产精品日韩| 亚洲欧洲中文日韩久久av乱码| 欧美a级在线| 91久久精品国产91性色| 欧美福利视频| 亚洲靠逼com| 欧美日韩免费在线| 亚洲视频在线一区| 国产精品日本| 欧美在线三级| 伊人一区二区三区久久精品| 乱人伦精品视频在线观看| 亚洲国产精品成人va在线观看| 欧美国产精品中文字幕| 亚洲精品资源美女情侣酒店| 欧美日韩1区| 亚洲午夜小视频| 国产精品永久免费观看| 久久不见久久见免费视频1| 国产日韩欧美二区| 榴莲视频成人在线观看| 亚洲精品国产精品国自产观看浪潮 | 国产精品国产三级国产aⅴ9色| 亚洲在线一区二区三区| 国产欧美精品日韩| 久久视频精品在线| 亚洲人精品午夜在线观看| 欧美日韩亚洲一区二区三区在线 | 久久综合亚洲社区| 99伊人成综合| 国产乱码精品一区二区三区av| 欧美一区二区三区在线免费观看| 国语自产精品视频在线看抢先版结局| 久久婷婷麻豆| 一区二区成人精品 | 欧美四级在线观看| 午夜视频在线观看一区二区三区| 国模 一区 二区 三区| 欧美成ee人免费视频| 一本一道久久综合狠狠老精东影业 | 欧美精品成人91久久久久久久| 亚洲视屏一区| 狠狠色丁香久久综合频道| 欧美剧在线免费观看网站| 亚洲在线一区| 亚洲福利小视频| 国产精品jvid在线观看蜜臀| 久久精品一本久久99精品| 亚洲精品国产精品国自产观看| 国产精品视频精品视频| 鲁鲁狠狠狠7777一区二区| 亚洲色图自拍| 在线观看91久久久久久| 欧美日韩精品免费| 久久九九热免费视频| 日韩午夜激情av| 国产一区二区三区久久悠悠色av| 欧美激情1区| 欧美影院视频| 9色精品在线| 精品成人一区二区| 国产精品大片| 免费亚洲网站| 午夜精品久久久久久久白皮肤| 亚洲激情视频在线播放| 国产农村妇女毛片精品久久麻豆| 欧美国产日本高清在线| 久久国产精品久久精品国产| 99re6热在线精品视频播放速度| 国产一区二区中文| 欧美午夜一区二区福利视频| 久久综合久久综合九色| 亚洲直播在线一区| 亚洲欧洲日产国码二区| 国产一区二区三区的电影| 欧美日韩中文字幕在线| 蜜桃av噜噜一区| 久久精品一区二区三区不卡牛牛| 一区二区三区毛片| 亚洲欧洲另类国产综合| 国产亚洲欧美日韩日本| 欧美日韩国产色综合一二三四| 久久青草久久| 欧美影院精品一区| 中文亚洲字幕| 亚洲精品护士| 亚洲电影中文字幕| 国内揄拍国内精品久久| 国产精品亚洲网站| 欧美四级在线观看| 欧美日韩1区2区| 欧美国产第二页| 另类综合日韩欧美亚洲| 久久精品一本久久99精品| 西西人体一区二区| 亚洲天堂黄色| 亚洲天堂av在线免费观看| 亚洲三级影院| 亚洲国产一区二区三区a毛片| 国模精品娜娜一二三区| 国产农村妇女毛片精品久久麻豆| 欧美性jizz18性欧美| 欧美日韩www| 欧美精品在线观看一区二区| 欧美成人高清| 免费久久99精品国产| 久久亚洲精品网站| 久久久国产精品亚洲一区| 久久av红桃一区二区小说| 欧美亚洲午夜视频在线观看| 亚洲专区欧美专区| 亚洲一区二区在线免费观看视频| 一本到高清视频免费精品| 99精品免费视频| 一本色道久久综合狠狠躁篇怎么玩| 亚洲六月丁香色婷婷综合久久| 亚洲三级色网| 亚洲精品日韩一| 日韩视频免费| 夜夜精品视频一区二区| 宅男噜噜噜66一区二区66| 一区二区三区日韩精品视频| 中文亚洲视频在线| 亚洲欧美日韩久久精品|