当前位置: 首页 > news >正文

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

解题思路

一道滑动窗口题型,不过滑动窗口的长度是不同种类元素的个数。
这里需要定义两个变量 cnt,overk。overk表示的是满足大于k的字符数,
cnt表示的是该窗口中不同元素的个数且cnt>=1&&cnt<=26。

相关代码

class Solution {public int longestSubstring(String s, int k) {char c[] = s.toCharArray(); int res=0;//length表示的是该小段区间 规定的不同种类元素的个数for(int length=1;length<=26;length++){int a[] = new int[26];//overk表示的是满足大于k的字符数//cnt表示的是该窗口中不同元素的个数int cnt=0;int overk=0; for(int i=0,j=0;i<c.length;i++){a[c[i]-'a']++;if(a[c[i]-'a']==1) cnt++;if(a[c[i]-'a']==k) overk++; while(j<i&&cnt>length){if(a[c[j]-'a']==1) cnt--;if(a[c[j]-'a']==k) overk--;a[c[j]-'a']--;j++;}if(overk==length) res = Math.max(res,i-j+1);}}return res;}
}
http://www.lryc.cn/news/319535.html

相关文章:

  • C#重新认识笔记_ FixUpdate + Update
  • Django 解决新建表删除后无法重新创建等问题
  • Qt教程 — 3.3 深入了解Qt 控件:Input Widgets部件(2)
  • 数据分析-Pandas的直接用Matplotlib绘图
  • Jmeter---分布式
  • 安卓基础面试题
  • 如何在 Linux ubuntu 系统上搭建 Java web 程序的运行环境
  • Redis实现分布式锁源码分析
  • SCI 图像处理期刊
  • 数据结构-红黑树
  • 双指针、bfs与图论
  • RabbitMQ高级-高级特性
  • Word粘贴时出现“运行时错误53,文件未找到:MathPage.WLL“的解决方案
  • html元素基本使用
  • PHP+golang开源办公系统CRM管理系统
  • smartmontools-5.43交叉编译Smartctl
  • idea找不到或无法加载主类
  • 2.二进制的方式读写文件
  • Seata的详细解释
  • JS手写实现洋葱圈模型
  • 3.Windows下安装MongoDB和Compass教程
  • go反射实战
  • Docker 中 MySQL 的部署与管理
  • 基础练习题之函数
  • Java NIO浅析
  • 数据挖掘与大数据的结合
  • 分布式链路追踪(一)SkyWalking(2)使用
  • 【QT入门】VS2019+QT的开发环境配置
  • RTP 控制协议 (RTCP) 反馈用于拥塞控制
  • 基于SpringBoot SSM vue办公自动化系统