登录/注册

leetcode第三题无重复字符的最长子串

用户头像管理员89阅读

其实这篇我是有点不好意思发出来的

原因:

JavaScript,Leetcode

后来想了想毕竟做出来了,也是分享一下以后有什么新方法可以在下面接着写。

原题:https://leetcode-cn.com/problemset/all/

JavaScript,Leetcode

主要就是在一串长字符串里面找最长的子串,

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了                                                                                                                                                                                                        

Preview
登录后评论