leetcode第三题无重复字符的最长子串
其实这篇我是有点不好意思发出来的
原因:
后来想了想毕竟做出来了,也是分享一下以后有什么新方法可以在下面接着写。
原题:https://leetcode-cn.com/problemset/all/
主要就是在一串长字符串里面找最长的子串,
var lengthOfLongestSubstring = function (s) {
let arr = [];
let max = 0;
for (let i = 0; i < s.length; i++) {
for (let j = i; j < s.length; j++) {
if (!arr.includes(s[j])) {
arr.push(s[j])
} else {
max = arr.length > max ? arr.length : max;
arr = [];
break;
}
}
}
return s.length == 1 ? 1 : max;
};
多次遍历,并且创造一个空数组来暂存数据,每次存入数组是判断数组是否有相同的值,如果有就清空数组,并且判断本次的长度是否长于上次,如果长于上次就更新,之后终止循环,在循环结束后判断,因为题目特意说明" "空格也算长度,但是本程序没没有针对单个空格的判断,就只能在return的时候判断长度是否为1了