ChenPt / dailyNote

dailyNode for myself
https://github.com/ChenPt/dailyNote/issues
0 stars 0 forks source link

2018/08/14 利用Set结构做的一道题 #26

Open ChenPt opened 6 years ago

ChenPt commented 6 years ago

原题:

题目的意思,给定一个字符串,返回不包含相同字符的最长子串的长度 采用滑动窗口的形式

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function(s) {
    var res = 0, i = 0,  j = 0
    var length = s.length
    var set = new Set()
    while(i < length && j < length) {
        if(!set.has(s.charAt(j))) {
            set.add(s.charAt(j++))
            res = Math.max(res, j - i)
        } else {
            set.delete(s.charAt(i++))
        }
    }
    return res
};

lengthOfLongestSubstring("abcabcbb")

image