【JS】找到字符串的最长无重复字符子串
找到字符串的最长无重复字符子串
http://www.nowcoder.com/questionTerminal/b56799ebfd684fb394bd315e89324fb4
/**
*
* @param arr int整型一维数组 the array
* @return int整型
*/
function maxLength( arr ) {
let idx = 0;
let max = 1;
let map = new Map();
while (idx < arr.length) {
// 有重复了
if (map.has(arr[idx])) {
max = Math.max(max, map.size);
// 重新定位 idx 为重复字符的后一位
idx = map.get(arr[idx]) + 1;
// 清空记录表
map.clear();
} else {
map.set(arr[idx], idx);
idx++;
}
}
max = Math.max(max, map.size);
return max;
}
module.exports = {
maxLength : maxLength
};
查看22道真题和解析