sd_*_*_30 0 javascript algorithm
示例输入:s = "abcabcbb" 输出:3 解释:答案是“abc”,长度为 3。我试着写这个,但如果条件永远不会被执行。我无法弄清楚原因。
var lengthOfLongestSubstring = function(s) {
let set = new Set();
let c =0;
for(let i =0; i< s.length; i++){
if(set.has(s[i])){
set.size =0;
}
else {
console.log(c)
c++;
}
}
return c;
};
console.log(lengthOfLongestSubstring("abcabcbb"))Run Code Online (Sandbox Code Playgroud)
你可以试试这个:
var lengthOfLongestSubstring = function (s) {
let res = 0;
let set = new Set();
let i = 0;
let j = 0;
while (i < s.length && j < s.length) {
if (!set.has(s[j])) {
set.add(s[j]);
j++;
if (j - i > res) res = j - i;
} else {
set.delete(s[i]);
i++;
}
}
return res;
};
Run Code Online (Sandbox Code Playgroud)