成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【leetcode】3. 無重復(fù)字符的最長子串

qc1iu / 3354人閱讀

摘要:示例輸入輸出解釋因?yàn)闊o重復(fù)字符的最長子串是,所以其長度為。請注意,你的答案必須是子串的長度,是一個子序列,不是子串。完成循環(huán)后取隊(duì)列中出現(xiàn)的最大長度即可。

給定一個字符串,請你找出其中不含有重復(fù)字符的?最長子串?的長度。

示例?1:

輸入: "abcabcbb"
輸出: 3 
解釋: 因?yàn)闊o重復(fù)字符的最長子串是 "abc",所以其長度為 3。

示例 2:

輸入: "bbbbb"
輸出: 1
解釋: 因?yàn)闊o重復(fù)字符的最長子串是 "b",所以其長度為 1。

示例 3:

輸入: "pwwkew"
輸出: 3
解釋: 因?yàn)闊o重復(fù)字符的最長子串是?"wke",所以其長度為 3。
?    請注意,你的答案必須是 子串 的長度,"pwke"?是一個子序列,不是子串。

實(shí)現(xiàn)思路:

一個簡單的滑動塊的操作,利用一個隊(duì)列作為滑塊,循環(huán)過程中元素不斷進(jìn)入這個隊(duì)列,作為子串,一旦遇到有重復(fù)的元素,就將其本身及左邊的元素移出。完成循環(huán)后取隊(duì)列中出現(xiàn)的最大長度即可。

我實(shí)現(xiàn)中有一個的小技巧,在剔除重復(fù)子串的操作中,我沒有將隊(duì)列進(jìn)行循環(huán)剔除,而是記錄重復(fù)子串出現(xiàn)的位置,利用 slice 將隊(duì)列進(jìn)行一次性切割,提高算法性能。

我的實(shí)現(xiàn):

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function(s) {
  let queue = []
  let result = 0
  const sLen = s.length
  for (let i = 0; i < sLen; ++i) {
    const item = s[i]
    const index = queue.indexOf(item)
    queue.push(item)
    if (-1 !== index) queue = queue.slice(index + 1)
    else result = Math.max(result, queue.length)
  }
  return result
};

成績:

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/105401.html

相關(guān)文章

  • LeetCode3.重復(fù)字符最長子串JavaScript

    摘要:示例輸入輸出解釋因?yàn)闊o重復(fù)字符的最長子串是,所以其長度為。請注意,你的答案必須是子串的長度,是一個子序列,不是子串。 LeetCode3.無重復(fù)字符的最長子串JavaScript 給定一個字符串,請你找出其中不含有重復(fù)字符的最長子串的長度。 示例 1: 輸入: abcabcbb輸出: 3 解釋: 因?yàn)闊o重復(fù)字符的最長子串是 abc,所以其長度為 3。 示例 2: 輸入: bbbbb輸出...

    vboy1010 評論0 收藏0
  • LeetCode.3 重復(fù)字符最長子串(JS)

    摘要:先跳到第三題是因?yàn)榈诙}第一眼沒讀懂一題目無重復(fù)字符的最長子串給定一個字符串,請你找出其中不含有重復(fù)字符的最長子串的長度。示例輸入輸出解釋因?yàn)闊o重復(fù)字符的最長子串是,所以其長度為。以此來實(shí)現(xiàn)判斷是否包含重復(fù)字符。 先跳到第三題是因?yàn)榈诙}第一眼沒讀懂 一、題目 無重復(fù)字符的最長子串: 給定一個字符串,請你找出其中不含有重復(fù)字符的 最長子串 的長度。 示例1 輸入: abcabcbb輸...

    wthee 評論0 收藏0
  • LeetCode 3——重復(fù)字符最長子串

    摘要:題目解答方法一我們從前往后遍歷字符串,代表最長子串的起始位置,一開始設(shè)置為零。如果沒有遇到重復(fù)字符,則更新子串的長度,向后遍歷。最長子串的起始位置重復(fù)的字符在子串中的位置初始化映射自動初始化為零獲取更多精彩,請關(guān)注 1. 題目 showImg(https://segmentfault.com/img/remote/1460000016867082); 2. 解答 2.1. 方法一 我們...

    Rocture 評論0 收藏0
  • leetcode 重復(fù)字符最大子串

    摘要:示例輸入輸出解釋因?yàn)闊o重復(fù)字符的最長子串是,所以其長度為。請注意,你的答案必須是子串的長度,是一個子序列,不是子串。臨時存儲子串存儲最長子串如果子串中不存在如果子串中存在重復(fù)字符的位置截取字符串 給定一個字符串,請你找出其中不含有重復(fù)字符的 最長子串 的長度。 示例 1: 輸入: abcabcbb 輸出: 3 解釋: 因?yàn)闊o重復(fù)字符的最長子串是 abc,所以其長度為 3。 示例 2...

    laoLiueizo 評論0 收藏0
  • 力扣(LeetCode)3

    摘要:示例輸入輸出解釋因?yàn)闊o重復(fù)字符的最長子串是,所以其長度為。請注意,你的答案必須是子串的長度,是一個子序列,不是子串。若沒有重復(fù)元素,則區(qū)間右邊擴(kuò)大,否則區(qū)間左邊縮小。 題目地址:https://leetcode-cn.com/probl...題目描述:給定一個字符串,請你找出其中不含有重復(fù)字符的 最長子串 的長度。 示例 1: 輸入: abcabcbb輸出: 3 解釋: 因?yàn)闊o重復(fù)字符...

    _DangJin 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<