3. 無重複字元的最長子串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。
示例 1:
輸入: "abcabcbb"
輸出: 3
解釋: 因為無重複字元的最長子串是 "abc",所以其長度為 3。
示例 2:
輸入: "bbbbb"
輸出: 1
解釋: 因為無重複字元的最長子串是 "b",所以其長度為 1。
示例 3:
輸入: "pwwkew"
輸出: 3
解釋: 因為無重複字元的最長子串是 "wke",所以其長度為 3。
請注意,你的答案必須是 子串 的長度,"pwke" 是乙個子串行,不是子串。
classsolution:
def lengthoflongestsubstring(self, s: str) ->int:
res =0
mark = set() #
用集合標明是否有出現重複字母
r = 0 #
右指標for i in
range(len(s)):
if i !=0:
mark.remove(s[i - 1])
while r < len(s) and s[r] not
in mark: #
如果不滿足條件說明r走到了s的盡頭或r指向的元素
mark.add(s[r]) #
將當前r指向的字母加入集合
r += 1res = max(res, r - i) #
在每乙個位置更新最大值
return res
LeetCode每日兩題 day3
leetcode8.字串轉換整數 leetcode7.整數反轉 題目詳情 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 實現flag 1if x 0else 1 ...
LeetCode每日兩題 day4
leetcode11.盛水最多的容器 leetcode9.回文數 問題詳情 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。實現class solution object defispalindrome self,x type x int rtype bool...
4 26 刷題Day 1 樹形dp兩題
include include include include using namespace std int n int head 6005 next 6005 last 6005 int root int f 5 6005 void dp int x int main for int i 1 i...