问题描述:
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
原文地址:https://www.cnblogs.com/hiluna/p/9313020.html