题目

https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/

题解

参考:官方题解 Approach 2: Divide And Conquer

分而治之的思想,提示:每次用不符合条件的字母作为枢轴,将 s 划分为左右两个子问题。

class Solution {public int longestSubstring(String s, int k) {return partition(s, 0, s.length() - 1, k);}public int partition(String s, int L, int R, int k) {if (L < 0 || R >= s.length() || L > R || R - L + 1 < k) return 0;int[] count = new int[26]; // 对应字母出现次数int[] index = new int[26]; // 对应字母最后一次在字符串中出现的位置for (int i = L; i <= R; i++) {count[s.charAt(i) - 'a']++;index[s.charAt(i) - 'a'] = i;}int longest = R - L + 1;for (int i = 0; i < count.length; i++) {if (count[i] > 0 && count[i] < k) { // 将出现次数小于k的字母作为枢轴int M = index[i];return Math.max(partition(s, L, M - 1, k), partition(s, M + 1, R, k));}}return longest;}
}

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

  1. leetcode算法—无重复字符的最长子串 Longest Substring Without Repeating Characters

    关注微信公众号:CodingTechWork,一起学习进步. 题目 Longest Substring Without Repeating Characters: Given a string, fi ...

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

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

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

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

  4. (LeetCode刷题)Day03 无重复字符的最长子串

    无重复字符的最长子串 [3. Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest ...

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

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

  6. LeetCode 3. 无重复字符的最长子串(滑动窗口+哈希)

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

  7. LeetCode题库整理【Java】—— 3 无重复字符的最长子串

    LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...

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

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

  9. 刻意练习:LeetCode实战 -- Task16. 无重复字符的最长子串

    背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...

  10. leetcode 无重复字符的最长子串

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

最新文章

  1. 基于jquery的php分页,基于jQuery封装的分页组件
  2. 【数据挖掘】理解数据挖掘
  3. mvc4中的 webapi 的使用方式
  4. php5.4 session配置,Session
  5. python操纵excel的方法_python操作Excel的几种方式
  6. Java中十六进制转换 Integer.toHexString()
  7. react+redux+antd图书管理系统学习
  8. JavaScript验证表单大全【自用】
  9. 卡尔曼滤波和粒子滤波最直白的解释
  10. 特朗普“能源独立”政策效果存疑
  11. keras实现声音二分类
  12. Go语言-基本类型(int,float,bool,byte,string)
  13. Nature综述:Rob Knight带你分析微生物组数据
  14. 本地化翻译软件测试,本地化测试 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  15. 《Java程序性能优化》读书笔记
  16. 多个文本文档合并为一个文件的方法
  17. 无法kill掉的僵尸进程
  18. Linux CFS调度器分析
  19. Zotero手动配置到Word
  20. Visual Studio for Nintendo Switch? -FUZE4 Nintendo Switch是一个了不起的编码应用程序

热门文章

  1. 洛谷P5357 - 【模板】AC自动机(二次加强版)(AC自动机+fail树)
  2. POJ - 2104 K-th Number(主席树)
  3. Python爬虫-利用代理IP访问网页(requests)
  4. 【数据结构】C++单链表实现多项式加法(直接输入多项式)
  5. el-popover可以设高度_家用餐厅吧台桌高度一般多少?吧台设计需要注意哪些?...
  6. Codeforces Beta Round #1--C题(多边形求最小面积)
  7. 利用WinPcap技术捕获数据包
  8. 用 70 行代码给你自己写一个 strace
  9. 分布式系统概念 | 一致性协议:拜占庭将军问题、Paxos、Raft
  10. 音视频技术开发周刊 | 240