0003:无重复字符的最长子串(★)
目录
题目
给定一个字符串 s
,请你找出其中不含有重复字符的 最长 子串 的长度。
示例 1:
输入: s = "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc"
,所以其长度为 3。
示例 2:
输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b"
,所以其长度为 1。
示例 3:
输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是"wke"
,所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke"
是一个子序列,不是子串。
提示:
0 <= s.length <= 5 * 104
s
由英文字母、数字、符号和空格组成
相似问题:
- 0159:至多包含两个不同字符的最长子串
- 0340:至多包含 K 个不同字符的最长子串
- 0992:K 个不同整数的子数组(2210 分)
- 1695:删除子数组的最大得分(1528 分)
- 2067:等计数子串的数量
- 2260:必须拿起的最小连续卡牌数(1364 分)
- 2401:最长优雅子数组(1749 分)
- 2405:子字符串的最优划分(1355 分)
- 2799:统计完全子数组的数目(1397 分)
- 2982:找出出现至少三次的最长特殊子字符串 II(1772 分)
- 2981:找出出现至少三次的最长特殊子字符串 I(1505 分)
分析
- 遍历每个位置 j 作为结尾,维护无重复子串
- 哈希表记录字符的上一个位置,即可维护子串的左边界
解答
|
|
48 ms