找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 的长度。

示例 1:

输入:s = "aaabb", k = 3
输出:3
最长子串为 "aaa" ,其中 'a' 重复了 3 次。

示例 2:

输入:s = "ababbc", k = 2
输出:5
最长子串为 "ababb" ,其中 'a' 重复了 2 次, 'b' 重复了 3 次。

class Solution {
public:
    int longestSubstring(string s, int k) {
        int res = 0, i = 0, n = s.size();
        while (i + k <= n) {
            int m[26] = {0}, mask = 0, max_idx = i;
            for (int j = i; j < n; ++j) {
                int t = s[j] - 'a';
                ++m[t];
                if (m[t] < k) mask |= (1 << t);
                else mask &= (~(1 << t));
                if (mask == 0) {
                    res = max(res, j - i + 1);
                    max_idx = j;
                }
            }
            i = max_idx + 1;
        }
        return res;
    }
};

395.至少有K个重复字符的最长子串相关推荐

  1. 395. 至少有K个重复字符的最长子串

    395. 至少有K个重复字符的最长子串 Ideas 一开始想到的是sliding window,但是它要求的是最长子串,不太好写. [参考大佬的题解:借本题帮助大家理解递归] 求子串问题除了用双指针还 ...

  2. LeetCode 395. 至少有 K 个重复字符的最长子串--二分查找+前缀和+优先队列

    至少有 K 个重复字符的最长子串 给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k .返回这一子串的长度. 示例 1: 输入:s = &q ...

  3. leetcode 395. 至少有 K 个重复字符的最长子串(滑动窗口)

    给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k .返回这一子串的长度. 示例 1: 输入:s = "aaabb", ...

  4. LeetCode 395. 至少有K个重复字符的最长子串(分治)

    1. 题目 找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k .输出 T 的长度. 示例 1: 输入: s = "aaabb", k ...

  5. leetcode 395. Longest Substring with At Least K Repeating Characters| 395. 至少有 K 个重复字符的最长子串(分治法)

    题目 https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/ 题解 参考:官方题解 ...

  6. 算法---------至少有K个重复字符的最长子串(Java版本)

    题目 找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k .输出 T 的长度.示例 1:输入: s = "aaabb", k = 3输 ...

  7. 【LeetCode】0395.至少有K个重复字符的最长子串

    题目要求 本题共有两个要求 符合要求的字符串中每一个字符出现的次数都要大于等于给与的数字K 最终返回结果的是符合要求的字符串中最长的字符串长度 算法思想 hash_map + 递归 + 分治 使用数组 ...

  8. 【leetcode】力扣刷题(3):无重复字符的最长子串(go语言)

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

  9. 大二菜鸟———无重复字符的最长子串

    这是一枚大二菜鸟的成长反思博客   终于忍不住,在这六月将之的一天开始写起了博客.数据结构计算机算法杂七杂八学了一堆但是都只是浅尝,觉得还是要写博客反刍学习到的知识.   感谢大佬 @Java3y 的 ...

  10. 【LeetCode】无重复字符的最长子串【滑动窗口法】

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

最新文章

  1. 公共安全再受质疑 看安防语音对讲新趋势
  2. TypeMock是很不错的模拟测试框架
  3. Android webservice的用法详细讲解
  4. 表格布局(tablelayout)
  5. aida64 extreme 序列号_轻声问海关,规范申报错了谁负责?底料来源四川行不行?没有公式定价行不行?序列号是料号行不行?...
  6. 4.空悬指针和野指针
  7. iOS内存暴增问题追查与使用陷阱
  8. 关于keil编译cortex-m3纯汇编时为什么问题使用align地址问题
  9. php创建表设置编码,教您在Zend Framework里如何设置数据库编码以及怎样给数据表设定前缀!...
  10. 无响应_搭建的Redis高可用,突然频繁无响应怎么破?
  11. 理解 Generator 的执行
  12. 免费!吴恩达给你的人工智能第一课
  13. 请求的资源不可用html,“HTTP状态404请求的资源不可用”
  14. [论]【DSTGCN】Dynamic SpatiotemporalGraph Convolutional Neural Networks for Traffic Data Imputation
  15. Mybatis的模糊查询写法
  16. itchat4j -- 用Java扩展个人微信号的能力
  17. 一口气推荐16个让人震惊的黑科技工具
  18. 你会心动吗?ICPR 2018 MTWI挑战赛开启
  19. SUSAN算子——边缘检测
  20. CPU漏洞补丁修复导致KeServiceDescriptorTable获取变更

热门文章

  1. 【转】VirtualDOM与diff(Vue实现).MarkDown
  2. 如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路
  3. Postgresql创建数据库及用户然后执行初始化脚本
  4. WCF系列教程之WCF服务宿主与WCF服务部署
  5. OpenCASCADE Expression Interpreter by Flex Bison
  6. 总结命令----tar
  7. 虚拟机队列实战虚拟化存储设计之LUN Sizing
  8. 一步一步理解拖拽Drag(一)
  9. 进展-Silverlight5、 windows phone 7、pc 三栖引擎,2D核心已完成
  10. 使用fastcgi_cache加速你的Nginx网站