无重复字符的最长子串
/** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { var ans = [], vis = [], max = 0; for(var i = 0; i < 256; i++){ vis.push(-1); } for(var i = 0; i < s.length; i++){ var t = s[i].charCodeAt() - 0; if(vis[t] == -1){ vis[t] = i; ans.push(s[i]); if(ans.length > max){ max = ans.length; } } else{ var pos = ans.indexOf(s[i]); for(var j = pos - 1; j >= 0; j--){ vis[ans[j].charCodeAt() - 0] = -1; } ans = ans.slice(pos + 1); ans.push(s[i]); vis[t] = i; } } return max; };
原文:https://www.cnblogs.com/qq965921539/p/11381010.html