• 难度中等3. 无重复字符的最长子串


    先找出i位置不含有重复字符的最长字符
    然后循环i,找出最长的
     

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

    示例 1:

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

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

    输入: s = "pwwkew"
    输出: 3
    解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
      请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
     

    提示:

    0 <= s.length <= 5 * 104
    s 由英文字母、数字、符号和空格组成

    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    /**
     * @param {string} s
     * @return {number}
     */
    var lengthOfLongestSubstring = function(s) {
        //先找出i位置不含有重复字符的最长字符
        //然后循环i,不含有重复字符的 最长子串 的长度
        let maxStr=''
        for(let i=0;i<s.length;i++){
            let str=s[i]
            for(let j=i+1;j<s.length;j++){
                if(str.indexOf(s[j])===-1){
                    str=str+s[j];
                }else{
                    break
                }
            }
            if(str.length>maxStr.length){
                maxStr=str;
            }
            //没必要继续算下去了
            if(maxStr.length>=s.length-i-1){
                break;
            }
        }
        return maxStr.length
    };
  • 相关阅读:
    第一阶段意见评论
    《大道至简》阅读笔记03
    大二下第十二周学习笔记
    《大道至简》阅读笔记02
    课上练习—单词统计
    大二下第十一周学习笔记
    《大道至简》阅读笔记01
    《人月神话》阅读笔记03
    大二下第十周学习笔记
    团队项目前期冲刺-10
  • 原文地址:https://www.cnblogs.com/caoke/p/16747189.html
Copyright © 2020-2023  润新知