无重复字符的最长子串

题目:

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

示例 1:

输入: "abcabcbb"

输出: 3

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

使用语言:js

思路:设置一个起始点和终止点,将原字符串截取出来,判断终止点之后一个字符是否在被切割出来的片段中出现,如果出现,则起始点为该字符出现的位置,继续切割;否则终止点+1,重复上述步骤

代码:

/**

 * @param {string} s

 * @return {number}

 */

var lengthOfLongestSubstring = function (s) {

    let start = 0, res = 0, n = 0;

    for (let i = 0, l = s.length; i < l; i++) {

        n = s.slice(start, i).indexOf(s[i]);

        if (n == -1) {

            res = Math.max(res, i + 1 - start);

        } else {

            start += n + 1;

        }

    }

    return res;

};



    

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容