(JavaScript)求無重復的最長子串


給定一個字符串,請你找出其中不含有重復字符的 最長子串 的長度。

示例 1:

輸入: "abcabcbb"
輸出: 3
解釋: 因為無重復字符的最長子串是 "abc",所以其長度為 3。


示例 2:

輸入: "bbbbb"
輸出: 1
解釋: 因為無重復字符的最長子串是 "b",所以其長度為 1。


示例 3:

輸入: "pwwkew"
輸出: 3
解釋: 因為無重復字符的最長子串是 "wke",所以其長度為 3。
  請注意,你的答案必須是 子串 的長度,"pwke" 是一個子序列,不是子串。

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

--------------------------------------------------------------------------

一、暴力破解:利用一個數組arr存儲遍歷出的每一個字符,如果遇到相同的,則從0位開始一直到重復的字符全部splice出去

 1 /**
 2  * @param {string} s
 3  * @return {number}
 4  */
 5 var lengthOfLongestSubstring = function(s) {
 6     let arr = new Array()
 7     let max = 0
 8     for(let item in s) {
 9         if (arr.indexOf(s[item]) != -1) {
10             arr.splice(0,arr.indexOf(s[item])+1)
11             
12         }
13         arr.push(s[item])
14         max = Math.max(max,arr.length)
15     }
16     return max
17 };
18 lengthOfLongestSubstring('abcdk')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM