leetcode 劍指 Offer 48. 最長不含重複字元的子字串
題目描述:
請從字串中找出一個最長的不包含重複字元的子字串,計算該最長子字串的長度。
思路:
1、每次重複的片段命名為split,關鍵是要更新split
2、split的取值是從上次重複位置的第二個開始取值
3、返回anslist里長度最大的split
程式碼:
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
if len(s) < 2:#s可能為空字串或者只包含一個字元的字串
return len(s)
spit = ''
anslist = []
i = 0
while i < len(s): #這是跳出大迴圈的條件
while i < len(s) and s[i] not in spit:#split的條件按
spit += s[i]
i += 1
anslist.append(spit)
if i < len(s):
re_position = spit.find(s[i])
if re_position != -1:#如果能找到重複的位置
spit = spit[re_position+1:]#如果是最後一個位置,那麼split為空
ans = max([0] + [len(x) for x in anslist])#[0]的意思是,可能為空字串或者全為空格的字串
return ans
收穫:
1、find函式的用法
2、簡便的返回ans,而不用再開一個陣列
相關文章
- 劍指 Offer 48. 最長不含重複字元的子字串字元字串
- 最長不含重複字元的子字串字元字串
- JZ-073-最長不含重複字元的子字串字元字串
- 求字串中不含重複字元的最長子串字串字元
- LeetCode——無重複字元的最長子串LeetCode字元
- leetcode 之無重複字元的最長子串LeetCode字元
- 【LeetCode】3 無重複字元的最長子串LeetCode字元
- leetcode無重複字元的最長字串 python實現LeetCode字元字串Python
- Leetcode 3. 無重複字元的最長子串LeetCode字元
- leetcode-3無重複字元的最長子串LeetCode字元
- 【leetcode】【java】【3、無重複字元的最長子串】LeetCodeJava字元
- LeetCode-3. 無重複字元的最長子串LeetCode字元
- LeetCode題集-3 - 無重複字元的最長子串LeetCode字元
- 每日leetcode——3. 無重複字元的最長子串LeetCode字元
- Leetcode[字串] 3. 無重複字元的最長子串 10行極簡寫法!LeetCode字串字元
- 無重複字元的最長子串字元
- LeetCode133:給定一個字串,找出最長的不具有重複字元的子串的長度。例如,“abcabcbb”不具有重複字元的最長子串是“abc”,長度為3。對於“bbbbb”,最長的不具有重複字元的子串是LeetCode字串字元
- [LeetCode 刷題] 3. 無重複字元的最長子串 (Medium)LeetCode字元
- #leetcode刷題之路3-無重複字元的最長子串LeetCode字元
- 3 無重複字元的最長子串字元
- java無重複字元的最長子串Java字元
- Leetcode 劍指 Offer 03. 陣列中重複的數字LeetCode陣列
- 劍指Offer 字元流中第一個不重複的字元字元
- 3. 無重複字元的最長子串字元
- 【LeetCode】424. 替換後的最長重複字元LeetCode字元
- LeetCode3:Longest Substring Without Repeating Characters(無重複字元的最長子串)LeetCode字元
- 【每日一題】無重複字元的最長子串每日一題字元
- 演算法-無重複字元的最長子串演算法字元
- Leetcode 3.無重複字元的最長子串 字典記錄每個字元最後出現的位置LeetCode字元
- LeetCode-459-重複的子字串LeetCode字串
- Leetcode劍指offer(八)LeetCode
- LCR 016. 無重複字元的最長子串(中)字元
- Leet Code 3. Longest Substring Without Repeating Characters (最長的沒有重複字元的子字串)字元字串
- 【劍指offer】【2】字串的空格字串
- 劍指Offer--陣列中重複的數字陣列
- 劍指 Offer 38. 字串的排列字串
- 劍指Offer 表示數值的字串字串
- 20241108,LeetCode 每日一題,用 Go 計算字串中最長無重複字元LeetCode每日一題Go字串字元