HstarDoc
HstarDoc copied to clipboard
最长不重复子串算法-初版
function lengthOfLongestSubstring(text) {
function hasRepeatChar(str) {
var strArr = str.split('');
var obj = {};
strArr.forEach(x => (obj[x] = true));
return strArr.length != Object.keys(obj).length;
}
var longStr = '';
var len = text.length;
var tempStr = '';
for (var i = 0; i < len - longStr.length; i++) {
tempStr = text[i];
for (var j = i + 1; j < len; j++) {
if (hasRepeatChar(tempStr + text[j])) {
if (longStr.length < tempStr.length) {
longStr = tempStr;
}
break;
} else {
tempStr += text[j];
}
}
if (!hasRepeatChar(tempStr)) {
if (longStr.length < tempStr.length) {
longStr = tempStr;
}
}
}
// console.log(longStr);
return longStr.length;
}
var len;
len = lengthOfLongestSubstring('abcdefghijklmn');
console.log(len, len === 14);
len = lengthOfLongestSubstring('cbca');
console.log(len, len === 3);
len = lengthOfLongestSubstring('c');
console.log(len, len === 1);