無重複字元的最大子串

2021-10-01 21:12:07 字數 717 閱讀 5542

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。

示例 1:

輸入: 「abcabcbb」

輸出: 3

解釋: 因為無重複字元的最長子串是 「abc」,所以其長度為 3。

示例 2:

輸入: 「bbbbb」

輸出: 1

解釋: 因為無重複字元的最長子串是 「b」,所以其長度為 1。

示例 3:

輸入: 「pwwkew」

輸出: 3

解釋: 因為無重複字元的最長子串是 「wke」,所以其長度為 3。

請注意,你的答案必須是 子串 的長度,「pwke」 是乙個子串行,不是子串。

這題我首先想到的就是用暴力法去解,只要迴圈遍歷,總能找到最大的長度。然而提交的時候卻報了超時,這是我就想到了以前用過的滑動視窗法,滑動視窗用於這種字串的子串查詢非常適合,本質就是遍歷的時候,兩個指標一前一後夾著的子串(子陣列)類似乙個視窗,這個視窗大小和範圍會隨著前後指標的移動發生變化。而我要做的就是當遇到重複的時候去掉這個重複的值,然後繼續滑動,如果容量變大則繼續改變length值,若到了末尾容量還是沒超過最大值,則返回。

public

static

intlengthoflongestsubstring

(string s)

else

}return length;

}

leetcode 無重複字元的最大子串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...

leetcode 3 無重複的最大子列

先上自己的暴力演算法,執行的結果是時間效率較差,那就應該有啥比較靈活的做法。class solution if sign if maxmax j 執行到這裡,說明該開頭已經檢查完畢 return max 看了一下,是通過滑動視窗的想法,維護兩個變數,分別指向視窗的左邊界與右邊界,不斷判斷是否有重複的...

無重複字元的最長字串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...