文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给定一个字符串 s ,找出 至多 包含两个不同字符的最长子串 t ,并返回该子串的长度。

示例 1:
输入: "eceba"
输出: 3
解释: t 是 "ece",长度为3。示例 2:
输入: "ccaabbb"
输出: 5
解释: t 是 "aabbb",长度为5。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-substring-with-at-most-two-distinct-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {public:int lengthOfLongestSubstringTwoDistinct(string s) {int k = 2, i = 0, j = 0, maxlen = 0;unordered_map<char, int> m;while(j < s.size()){if(m.size() <= k)++m[s[j++]];while(m.size()>k){if(--m[s[i]] == 0)m.erase(s[i]);i++;}maxlen = max(maxlen, j-i);}return maxlen;}
};

24 ms 7.9 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 159. 至多包含两个不同字符的最长子串(滑动窗口)相关推荐

  1. LeetCode 159. 至多包含两个不同字符的最长子串 (滑动窗口哈希表)

    159. 至多包含两个不同字符的最长子串 class Solution {public int lengthOfLongestSubstringTwoDistinct(String s) {// 记录 ...

  2. 力扣(LeetCode)159. 至多包含两个不同字符的最长子串(2022.06.08)

    给定一个字符串 s ,找出 至多 包含两个不同字符的最长子串 t ,并返回该子串的长度. 示例 1: 输入: "eceba" 输出: 3 解释: t 是 "ece&quo ...

  3. 159 至多包含两个不同字符的最长子串

    题目描述: 给定一个字符串 s ,找出 至多 包含两个不同字符的最长子串 t ,并返回该子串的长度. 示例 1: 输入: "eceba" 输出: 3 解释: t 是 "e ...

  4. 159. 至多包含两个不同字符的最长子串

    题目 给定字符串s,找最多包含两个不同字符的子串,且需要子串最长 类似   3. 无重复字符的最长子串 https://blog.csdn.net/weixin_51125132/article/de ...

  5. 【LeetCode - 159】至多包含两个不同字符的最长子串

    文章目录 1.题目描述 2.解题思路 3.解题代码 1.题目描述 2.解题思路   如果输入字符串 s 的长度小于等于 2,那么它自己就是"至多包含两个不同字符的最长子串",返回 ...

  6. 滑动窗口—至多包含两个不同字符的最长子串(leetcode 159)

    题目描述 给定一个字符串 s ,找出 至多 包含两个不同字符的最长子串 t ,并返回该子串的长度. 示例 1: 输入: "eceba" 输出: 3 解释: t 是 "ec ...

  7. leetcode159. 至多包含两个不同字符的最长子串

    给定一个字符串 s ,找出 至多 包含两个不同字符的最长子串 t . 示例 1: 输入: "eceba" 输出: 3 解释: t 是 "ece",长度为3. 示 ...

  8. LeetCode 340. 至多包含 K 个不同字符的最长子串(滑动窗口)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个字符串 s ,找出 至多 包含 k 个不同字符的最长子串 T. 示例 1: 输入: s = "eceba", k = 2 输出 ...

  9. LeetCode 340. 至多包含 K 个不同字符的最长子串

    340. 至多包含 K 个不同字符的最长子串 class Solution {public int lengthOfLongestSubstringKDistinct(String s, int k) ...

最新文章

  1. 明朝是中国历史上最有骨气的王朝?【ZZ】
  2. java动态添加组件_有关Java Swing动态增加组件
  3. 统计思维:程序员数学之概率统计(第2版):第1章 探索性数据分析
  4. JavaScript进阶1-学习笔记
  5. Spring Aop之Advisor解析
  6. 瑞典卡罗林斯卡医学院博士后招聘,图像流行病学和深度学习领域
  7. 10个实用的 ES6 方法
  8. IDEA异常解决: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
  9. 在Navicat中修改表结构
  10. plsql如何连接oracle11g_plsql连接oracle教程
  11. 有了这款神器,什么吃灰文件都统统现形~极速搜索工具Everthing
  12. html边框倾斜,弯曲的边框CSS实现
  13. 不平衡数据采样方法整理
  14. PyInstaller 打包单文件 exe 注意事项
  15. java商场满减活动_Java使用策略模式解决商场促销商品问题示例
  16. 数组面试题-大力出奇迹?
  17. 入侵学校服务器修改成绩 :)
  18. 毕业了,说几句真心话+献上自导自演的毕业照吧
  19. git push和pull时遇到的两个问题及解决办法
  20. Spring——spring单例模式的线程安全

热门文章

  1. 修改页面后获得flag_互动征集丨是时候为2021立flag了
  2. python vector 初始化_从零开始搭建机器学习算法框架(python)--计算框架
  3. 单链表的头插法和尾插法实现代码(无头结点)
  4. Mysql安装后在服务里找不到和服务启动不起来的解决方法
  5. dubbo与springmvc的简单使用
  6. JVM自动内存管理机制——Java内存区域(下)
  7. Linux基础提高_系统性能相关命令
  8. 对每个小组的评论和建议
  9. Android启示录——开始Android旅途
  10. 指向函数的指针 - C语言