1. 程式人生 > >leetcode--js--Longest Substring Without Repeating Characters

leetcode--js--Longest Substring Without Repeating Characters

dex turn and rep wke bsp func swe ive

問題描述:

Given a string, find the length of the longest substring without repeating characters.

Examples:

Given "abcabcbb", the answer is "abc", which the length is 3.

Given "bbbbb", the answer is "b", with the length of 1.

Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring, "pwke"

is a subsequence and not a substring.

問題思路:

(1)審清題目:最長不重復的子串

(2)將第i個字符放在數組arr中,判斷下一個字符有沒有在arr中出現,如果出現,則重新從i-len+1處開始。

(3)需要記錄下每次循環的arr的最大長度

code:

var lengthOfLongestSubstring = function(s) {
    var arr=[];
    var str = s.split(‘‘);
    var max = 0;
    var len = 0; //arr[]數組的長度
    for(var i=0;i<str.length;i++){
        
if(arr.indexOf(str[i])==-1){ arr.push(str[i]); len = len + 1; max = max > len ? max : len; }else{ i = i - len + 1; arr.splice(0, len, str[i]); len = 1; } } return max; };

leetcode--js--Longest Substring Without Repeating Characters