网站正在建设中 蓝色,有了域名如何建设网站,外国优秀设计网站,帮做试卷的网站● 给定一个字符串 s #xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”#xff0c;所以其长度为 3。 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”#xff0c;所…● 给定一个字符串 s 请你找出其中不含有重复字符的 最长子串 的长度。 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”所以其长度为 3。 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”所以其长度为 1。 输入: s “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”所以其长度为 3。 请注意你的答案必须是 子串 的长度“pwke” 是一个子序列不是子串。
思路 ○ 首先遍历字符串然后维护一个队列 ○ 当当前字符不在队列中时append ○ 当当前字符在队列中时记录最大长度并且循环的pop直到当前字符不在队列中 ○ 字符串循环结束后比较记录的最大长度和剩余队列的长度。
def lengthOfLongestSubstring(s: str) - int:无重复的最长子串:param s::return:length 0queue []for i in s:if i in queue:length max(length, len(queue))while i in queue:queue.pop(0)queue.append(i)return max(length, len(queue))print(lengthOfLongestSubstring(abcabcbb))
print(lengthOfLongestSubstring(bbbbbb))
print(lengthOfLongestSubstring(pwwkew))