无重复字符的最长子串

题目

在这里插入图片描述

解法一: 维护数组

在这里插入图片描述

var lengthOfLongestSubstring = function(s) {
    let arr = [], max = 0
    for(let i = 0; i < s.length; i++) {
        let index = arr.indexOf(s[i])
        if(index !== -1) {
            arr.splice(0, index+1);
        }
        arr.push(s.charAt(i))
        max = Math.max(arr.length, max) 
    }
    return max
};

时间复杂度:O(n2), 其中 arr.indexOf() 时间复杂度为 O(n) ,arr.splice(0, index+1) 的时间复杂度也为 O(n)
空间复杂度:O(n)

posted @ 2020-09-02 08:17  jacksonni  阅读(119)  评论(0编辑  收藏  举报