您现在的位置是:主页 > news > 如何做网站备案/营销课程培训
如何做网站备案/营销课程培训
admin2025/4/28 11:03:53【news】
简介如何做网站备案,营销课程培训,网站推广计划书包含哪些内容,建设股票交易网站题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。样例示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字…
如何做网站备案,营销课程培训,网站推广计划书包含哪些内容,建设股票交易网站题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。样例示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字…
欢迎关注,一起学习
题目描述
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
样例
示例 1:
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:
输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:
输入: "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
方法:
采用双指针法解题,前面一个指针每次扫描过一个字符,把计数字典中对应字符出现的次数加1,当扫描到一个字符在计数字典中次数大于1的时候,后面的指针一直向后移动,直到当前字符在计数字典中出现的次数小于等于1,。
示例代码
def max_no_repeat_str(s):max_len = 0pos = 0start = 0tmp_len = 0count_dict = {}for i in range(len(s)):if s[i] in count_dict.keys():count_dict[s[i]] += 1while count_dict[s[i]] >= 2 and start < len(s):count_dict[s[start]] -= 1start += 1else:pos = itmp_len = pos - start + 1if tmp_len > max_len:max_len = tmp_lencount_dict[s[i]] = 1return max_lendef main():max_len = max_no_repeat_str("pwwkew")print(max_len)if __name__ == '__main__':main()
