leetcode(3)---寻找最大字符串
生活随笔
收集整理的這篇文章主要介紹了
leetcode(3)---寻找最大字符串
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
不時更新力扣題庫,使用python實現(xiàn),比較通俗易懂,其中注釋是我自己的理解:
# 輸入: s = "abcabcbb" # 輸出: 3 # 解釋: 因為無重復字符的最長子串是 "abc",所以其長度為 3。class Solution(object):def lengthOfLongestSubstring(self, s):# -1的原因是因為如果輸入的時空串,官方希望返回1,所以max=i-start=1,空串時i=0,所以start算為-1start = -1max = 0dic = {}for i in range(len(s)):# s在dic里,就改變start再比是否新的不同字符串長度大于舊的長度if s[i] in dic and dic[s[i]] > start:start = dic[s[i]]dic[s[i]] = ielse:dic[s[i]] = i# 如果新的大于舊的字符串長度,就選擇最大的值if i - start > max:max = i - startreturn maxif __name__ == '__main__':sol = Solution()res = sol.lengthOfLongestSubstring(" ")print(res)總結(jié)
以上是生活随笔為你收集整理的leetcode(3)---寻找最大字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode(2)---两数相加
- 下一篇: java里的主线程和子线程以及final