美文网首页
最长子串-3

最长子串-3

作者: Joah_l | 来源:发表于2019-11-21 11:01 被阅读0次
    // 3(最长子串) ;; 滑动窗口 s[i...j]
    // 使用 hash 来判断重复的字符
    function maxSubString(s) {
      let obj = {}
      for (let i = 0, len = s.length; i < len; i++) {
        let item = s[i]
        if (!obj[item]) {
          obj[item] = 0
        } else {
          obj[item]++
        }
      }
      let l = 0, r = -1;
      let res = 0
      while (l < s.length) {
        if (r + 1 < s.length && obj[s[r + 1]] === 0) {
          obj[s[++r]]++;
        } else {
          obj[s[l++]]--;
        }
        res = Math.max(res, r - l + 1)
      }
      return res
    }
    
    const r = maxSubString("abcabcafe")
    console.log(r)
    
    // 76 道题
    // set 和 map 底层的数据结构
    // 平衡二叉树(顺序性), 或者是 hash table(无序)
    

    相关文章

      网友评论

          本文标题:最长子串-3

          本文链接:https://www.haomeiwen.com/subject/ftizictx.html