剑指 Offer 48. 最长不含重复字符的子字符串

Posted 风去幽墨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 48. 最长不含重复字符的子字符串相关的知识,希望对你有一定的参考价值。

题目链接:

https://leetcode-cn.com/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/

题意:

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。

题解:

利用python里的字典,记录每个字符上次出现的位置以及区间起始位置,遍历的过程中注意更新维护即可。

代码:

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        dict,ans,st=,0,0
        for i in range(len(s)):
            if dict.__contains__(s[i]) and dict[s[i]]>=st:
                st=dict[s[i]]+1
            dict[s[i]]=i
            ans = max(ans,i-st+1)
        return ans

以上是关于剑指 Offer 48. 最长不含重复字符的子字符串的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer打卡48. 最长不含重复字符的子字符串

剑指Offer打卡48. 最长不含重复字符的子字符串

剑指Offer打卡48. 最长不含重复字符的子字符串

算法剑指 Offer 48. 最长不含重复字符的子字符串

剑指Offer面试题48. 最长不含重复字符的子字符串

[LeetCode]剑指 Offer 48. 最长不含重复字符的子字符串