美文网首页
练习题 No.3

练习题 No.3

作者: 798b6b7c244d | 来源:发表于2019-06-03 16:06 被阅读0次

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

示例1:

str = "abcabcbb"
输出 :abc 最长长度为3

示例2 :

str = "bbbbb"
输出 :b 最长长度为1

示例3 :

str = "pwwkew"
输出 :wke 最长长度为3

上代码:
        var str = "abcabcbb"
        var str2 = "bbbbb"
        var str3 = "pwwkew"
        var arr = str3.split('')        //先将字符串转换为数组
        var num = []
        var length = []
        for (let i = 0; i < arr.length; i++) {
            for (let j = i; j < arr.length; j++) {
                if (num.indexOf(arr[j]) == -1) {      //没有重复的存入arr
                    num.push(arr[j])
                } else {
                    length.push(num.length)          //有重复的记录最大长度存入num,清空num
                    num = []
                    break
                }
            }
        }
        length.push(num.length)            //考虑到如果字符串的长度为1的情况下
        length.sort(function(a,b){              //取得长度数组进行倒序排列,取最大值为最长长度
            return b-a
        });
        console.log(length[0])
qinqin.gif

相关文章

网友评论

      本文标题:练习题 No.3

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