LeetCode:Longest Substring Without Repeating Characters

谁践踏了优雅 2022-07-12 07:42 138阅读 0赞

第三题寻找最大的不包含重复字符的字符串。

借助了python的str查找函数,应该不是最优的解法。

  1. #! /usr/bin/env python
  2. # -*- coding:utf8 -*-
  3. class Solution(object):
  4. def lengthOfLongestSubstring(self, s):
  5. """ :type s: str :rtype: int """
  6. if len(s) == 0:
  7. return 0
  8. if len(s) == 1:
  9. return 1
  10. j = 0
  11. sub_str = ""
  12. max_len = 1
  13. for i in range(0, len(s)):
  14. index = sub_str.find(s[i])
  15. if index == -1:
  16. sub_str = s[j:i+1]
  17. tmp_len = i - j + 1
  18. if (max_len < tmp_len):
  19. max_len = tmp_len
  20. else:
  21. j = j + index + 1
  22. sub_str = s[j:i+1]
  23. return max_len
  24. if __name__ == "__main__":
  25. s = Solution()
  26. s1 = "bbtablud"
  27. sub_len = s.lengthOfLongestSubstring(s1)
  28. print sub_len

发表评论

表情:
评论列表 (有 0 条评论,138人围观)

还没有评论,来说两句吧...

相关阅读