LeetCode 340. 至多包含 K 个不同字符的最长子串(滑动窗口)
文章目录
- 1. 题目
- 2. 解题
1. 题目
给定一个字符串 s ,找出 至多 包含 k 个不同字符的最长子串 T。
示例 1:
输入: s = "eceba", k = 2
输出: 3
解释: 则 T 为 "ece",所以长度为 3。示例 2:
输入: s = "aa", k = 1
输出: 2
解释: 则 T 为 "aa",所以长度为 2。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-substring-with-at-most-k-distinct-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 哈希map对字符计数
- 维持哈希map的
size<=k
,计数为0时,删除 key
class Solution {public:int lengthOfLongestSubstringKDistinct(string s, int k) {unordered_map<char,int> m;int maxlen = 0;for(int i = 0, j = 0; i < s.size(); ++i){if(m.size() <= k)m[s[i]]++;while(m.size()>k){if(--m[s[j]] == 0)m.erase(s[j]);j++;}maxlen = max(maxlen, i-j+1);}return maxlen;}
};
24 ms 8.3 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
LeetCode 340. 至多包含 K 个不同字符的最长子串(滑动窗口)相关推荐
- LeetCode 340. 至多包含 K 个不同字符的最长子串
340. 至多包含 K 个不同字符的最长子串 class Solution {public int lengthOfLongestSubstringKDistinct(String s, int k) ...
- LeetCode 340. 至多包含 K 个不同字符的最长子串 (滑动窗口)
340. 至多包含 K 个不同字符的最长子串 class Solution {public int lengthOfLongestSubstringKDistinct(String ss, int k ...
- LeetCode 159. 至多包含两个不同字符的最长子串 (滑动窗口哈希表)
159. 至多包含两个不同字符的最长子串 class Solution {public int lengthOfLongestSubstringTwoDistinct(String s) {// 记录 ...
- leetcode——340.至多包含 K 个不同字符的最长子串
题目--对不同字符个数进行k的限定 思路 利用双指针实现滑动窗口 滑动窗口对不同字母进行计数 移动右指针 当不同字符个数大于k 移动左指针 如何统计不同字符的个数?--哈希表的size 当出现次数为0 ...
- LeetCode算法日记:340.至多包含K个不同字符的最长子串
340.至多包含K个不同字符的最长子串 日期:2022/7/30 题目描述:给定一个字符串 *s* ,找出 至多 包含 k 个不同字符的最长子串 *T*. 示例: 输入: s = "eceb ...
- 340. 至多包含K个不同字符的最长子串
340. 至多包含 K 个不同字符的最长子串 难度:中等 给定一个字符串 s ,找出 至多 包含 k 个不同字符的最长子串 T. 示例 1: 输入: s = "eceba", k ...
- 【LeetCode430】至多包含 K 个不同字符的最长子串
340. 至多包含 K 个不同字符的最长子串 难度困难91收藏分享切换为英文接收动态反馈 给定一个字符串 s ,找出 至多 包含 k 个不同字符的最长子串 T. 示例 1: 输入: s = " ...
- 滑动窗口—至多包含 K 个不同字符的最长子串(leetcode 340)
题目描述 给定一个字符串 s ,找出 至多 包含 k 个不同字符的最长子串 T. 示例 1: 输入: s = "eceba", k = 2 输出: 3 解释: 则 T 为 &quo ...
- Leetcode——至多包含K个不同字符的最长子串
1. 至多包含两个不同字符的最长子串 (1)滑动窗口 动态地维护一个滑动窗口,如果检测到窗口内出现了超过两个不同的字符,则将窗口整体右移一格. 否则,将滑动窗口向右扩张一格. 最后返回滑动窗口的长度 ...
最新文章
- 服务器select与gevent
- processing solution item 在加载时一直出现
- sizeof 在C语言的作用,union 与sizeof的作用??
- php模拟input 的file上传文件
- Linux上的查找命令之locate查找
- 2017 ZSTU寒假排位赛 #5
- 嵌入式驱动工程师开发学习路线
- pc彩色版伏魔记开放Java源码
- 【成神之路】Redis相关面试题
- base64格式转换成普通png格式
- 三层锁机病毒的层层逆向剖析
- linux docker容器MySQL自动备份发送到邮箱
- Tengine + BabaSSL ,让国密更易用
- c++编程题2——ISBN计算识别码
- Input的常用属性
- 后台利用aop注解的方式防止重复提交
- 深度学习与计算机视觉-6章 Python-OpenCV
- iOS底层原理之内存管理
- vue项目结构目录介绍
- 解决could not read Username for ‘https://gitee.com‘: Device not configured