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

示例 1:

输入: “eceba”
输出: 3
解释: t 是 “ece”,长度为3。
示例 2:

输入: “ccaabbb”
输出: 5
解释: t 是 “aabbb”,长度为5。
通过次数23,666提交次数42,557

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/longest-substring-with-at-most-two-distinct-characters

方法一:滑动窗口

C++提交内容:

class Solution {public:int lengthOfLongestSubstringTwoDistinct(string s) {int len = s.size();int l = 0, r = 0, ch = 0, ans = 0;unordered_map<char, int> window;while(r < len){char ch1 = s[r];if(window[ch1] == 0){ch++;}window[ch1]++;while(ch > 2){char ch2 = s[l++];window[ch2]--;if(window[ch2] == 0){ch--;}}ans = max(ans, r - l + 1);r++;}return ans;}
};

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

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

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

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

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

  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. linux find命令的日常使用
  2. java操作xml文件--修改节点
  3. 判断js对象是否拥有某属性
  4. C语言位运算,醍醐灌顶式教学
  5. 如何自行查找SAP ERP的物料主数据和CRM产品主数据的映射关系
  6. java新建对象校验_验证某个对象是否是一个mock对象或者一个spy对象
  7. C++|Java工作笔记-google protobuf基本使用
  8. DFB [03] 移植遇到的实际问题 基于某著名平台
  9. 数据库笔记05:创建与管理数据库
  10. leetcode刷题:1.无重复字符的最长字串
  11. Kafka监控:Kafka-Manager
  12. BZOJ 3221: [Codechef FEB13] Obserbing the tree树上询问( 可持久化线段树 + 树链剖分 )
  13. 在python中、下列代码的输出是什么-智慧树知到《Python程序设计基础》章节测试答案...
  14. VB做的 串口PID 调试助手
  15. Jmeter使用CSV文件读取大量测试数据
  16. 机器人行业疫情之下的“危”与“机”
  17. 04年学计算机,成都电子科大计算机学院04年专业?
  18. 12306GT多线程、分流免费抢票工具使用
  19. 全球及中国食用油市场竞争态势与营销策略分析报告2022版
  20. 谷歌浏览器打印不弹出预览直接打印机打印的方法

热门文章

  1. Windows 硬盘安装 Ubuntu 教程
  2. LeetCode数据库题目汇总一(附答案)
  3. Linux就这个范儿 第13章 打通任督二脉
  4. 前台、中台、后台,业务中台、技术中台、数据中台、算法中台分别是什么?
  5. 跨服功能和跨服比赛测试正常
  6. css属性visibility:unset
  7. 抬杠计算机,全 自 动 抬 杠 机
  8. windows电脑系统优化
  9. 电容在微分、积分电路中的本质以及应用
  10. 代码质量保证体系(下)