题目来源:
中文版:3. 无重复字符的最长子串 - 力扣(LeetCode)
英文版:https://leetcode.com/problems/longest-substring-without-repeating-characters/
题目难度:Medium
答题思路
1 | 最笨的办法就是暴力算法 |
解答1[Java]:滑动窗口
1 | class Solution { |
根据出现频率来的,只要右指针当前指向的字符串出现的频率不是 0 次,左指针就继续向右移动,每次移动的时候,把左指针当前指向的字符串的频率给相应的减掉。一直到发现右指针指向的字符串出现的频率是 0 次的时候,此时右指针就可以继续向右移动了。
追问
Follow-up:如果允许重复一次字符呢——微软-苏州-Lead面(2020.11.24)【来自 CodeTop 题目评论】
3. 无重复字符的最长子串 - 力扣(LeetCode)【仅供参考】
允许重复k个字符,字节-国际化电商-后端2022-4-22
base:3 follow up :395 424 2024
20230913 滴滴要求,滑动窗口检测不能用hashmap,真是弱智要求。
Peng:估计面试官是想让面试者使用数组,而不使用 HashMap。
20220213:
JD 后端二面 +打印最长子串
字节 变式题:给定一个字符串s,以及一个数字k,求s中最多不超过k个不同字符的最长子串长度【2022-11-27】
相关题目
LeetCode 395
395. 至少有 K 个重复字符的最长子串 - 力扣(LeetCode)
395. Longest Substring with At Least K Repeating Characters
340. 至多包含 K 个不同字符的最长子串 - 力扣(LeetCode)
LintCode 928:LintCode - LintCode