zoukankan      html  css  js  c++  java
  • 力扣----3. 无重复字符的最长子串(JavaScript, Java实现)

    题目描述:

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

    事例:

    输入: "abcabcbb"
    输出: 3 
    解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

    事例:

    输入: "bbbbb"
    输出: 1
    解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

    事例:

    输入: "pwwkew"
    输出: 3
    解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。


    JavaScript实现
    /**
     * @param {string} s
     * @return {number}
     */
    const lengthOfLongestSubstring = function (s) {
      let length = s.length;
      let max = 0, j = 0;
      const list = new Set();
      for (let i = 0; i < length; i++) {
        i !== 0 && list.delete(s.charAt(i-1));
        while (j < length && !list.has(s.charAt(j))) {
          list.add(s.charAt(j));
          j++;
        }
        max = Math.max(max, j-i)
      }
      return max;
    };

    敏感词汇:

    重复字符 -----> 散列表(涉及到次数要用散列表,字符作为key,出现次数作为value)

    子串       -----> 滑动窗口


    Java实现


    待补充
    
    
    
  • 相关阅读:
    图书-哲学-奥卡姆剃刀:《奥卡姆剃刀原理》
    汉语-词语-认知:认知能力
    汉语-词语-认知:认知水平
    汉语-词语:认知
    pg_dump
    pg_ctl
    pg_controldata
    pg_config
    paste
    passwd
  • 原文地址:https://www.cnblogs.com/manru75/p/13023498.html
Copyright © 2011-2022 走看看