1. 题目

给定字符串S,找到最多有k个不同字符最长子串T。

样例 1:
输入: S = "eceba" 并且 k = 3
输出: 4
解释: T = "eceb"样例 2:
输入: S = "WORLD" 并且 k = 4
输出: 4
解释: T = "WORL" 或 "ORLD"挑战
O(n) 时间复杂度

2. 解题

class Solution {public:int lengthOfLongestSubstringKDistinct(string &s, int k) {// write your code hereint i = 0, j = 0, MAX = 0, n = s.size(), count = 0;unordered_map<char,int> m;char ch;for( ; j < n; j++) {ch = s[j];if (m[ch] == 0) //右端点有新的字符count++;m[ch]++;if(count > k) //字符种类超了{ch = s[i++];m[ch]--;if(m[ch] == 0) count--;//如果为0,种类减少}MAX = j-i+1;//MAX只增不减,是最后的答案}return MAX;}
};

100% 数据通过测试
总耗时 302 ms
您的提交打败了 41.40% 的提交!

LintCode 386. 最多有k个不同字符的最长子字符串(双指针)相关推荐

  1. 386 · Longest Substring with At Most K Distinct Characters最多有k个不同字符的最长子字符串

    链接:https://www.lintcode.com/problem/386/description https://mp.weixin.qq.com/s?__biz=MzU2OTUyNzk1NQ= ...

  2. 面试题16:不含重复字符的最长子字符串(Java版)

    题目:输入一个字符串,求该字符串中不含重复字符的最长子 字符串的长度.例如,输入字符串"babcca",其最长的不含重复字符的子字符串是"abc",长度为3. ...

  3. c++ 查找 list中最长的字符串_查找不重复字符的最长子字符串(编程面试中常见题-用8种编程语言来回答)...

    查找不重复字符的最长子字符串(编程面试中常见题-用8种编程语言来回答) 给定一个字符串str,找到不重复字符的最长子字符串. 比如我们有 "ABDEFGABEF", 最长的字符串是 ...

  4. 【LeetCode】不含重复字符的最长子字符串

    题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长连续子字符串 的长度. 示例 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符 ...

  5. 1041-不含重复字符的最长子字符串

    题目如下 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子字符串是 "abc",所以其长度为 3. 示例 2: 输入 ...

  6. leetcode记录-340-至多包含 K 个不同字符的最长子串-双指针

    340.至多包含 K 个不同字符的最长子串 思路 寻找字符串满足某个条件的子串,考虑双指针+滑动窗口思想(右指针一直前进,当遇到某个条件成立/不成立,更新左指针,然后右指针接着前进).首先左右指针从0 ...

  7. [LeetCode] Longest Substring with At Most K Distinct Characters 最多有K个不同字符的最长子串...

    Given a string, find the length of the longest substring T that contains at most k distinct characte ...

  8. [转载] 字符串最长重复子串python_查找字符串中重复字符的最长子字符串

    参考链接: Python字符串| digits 我尽量不在codeforces问题上寻求帮助,除非我真的,真的,卡住了,现在正好是.在Your first mission is to find the ...

  9. [LeetCode] 159. Longest Substring with At Most Two Distinct Characters 最多有两个不同字符的最长子串...

    Given a string S, find the length of the longest substring T that contains at most two distinct char ...

最新文章

  1. 推荐一些视觉SLAM的深度学习方法(上)
  2. DARPA盘点2017年最受关注的十大科技新闻
  3. 服务器如何开启远程控制,远程控制命令设置方法介绍
  4. python编程300集免费-python 300本电子书合集
  5. 2019春季暑期实习生正式批招聘笔试【腾讯】(回忆版)第二题
  6. Hello Indigo
  7. PAT乙级 1021 个位数统计
  8. 妇女节放假送礼物 乐视:提倡工作的同时要兼顾家庭生活
  9. android优化中国风应用、完整NBA客户端、动态积分效果、文件传输、小说阅读器等源码...
  10. java main函数_Java经典面试题集锦
  11. python pandas库的应用(类比mysql语言)
  12. poj2965--枚举专题 (算法巧妙)
  13. 安装Eclipse的中文语言包
  14. VS2010平台下VAssistX和Qt的整合配置及相关便捷操作
  15. 信佑7 linux,信佑无盘、顺无盘通用型万能包,镜像包,linux无盘
  16. 计算机系统软硬件结构图,计算机系统结构组成.ppt
  17. 计算机二级excel中mid的用法,Excel中怎么使用Mid函数
  18. 适合老爸用的在线的LaTeX数学公式编辑器
  19. html5 plus 保存图片,H5+app点击图片保存到相册
  20. 8个视频素材网站,免费可商用,视频剪辑必备。

热门文章

  1. 字节数组转换为图片_每日一课 | Python 3 TypeError:无法将“字节”对象隐式转换为str...
  2. 双目相机--双目视差与深度距离关系推导详解
  3. 如何制作自动更新程序?
  4. 在C++中用虚函数的作用是什么? 为什么要用到虚函数?
  5. SOCKET通信的基本步骤
  6. ReactiveCocoa简单介绍
  7. windows2016服务器优化,Windows Server 2012 服务器优化图文方法
  8. 将枚举的键值绑定到下拉列表框
  9. 如何参与一个GitHub开源项目
  10. CSS3(animation, trasfrom)总结