当前位置: 首页 > 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;}
}

相关文章:

  • 在Linux/Ubuntu/Debian中使用windows应用程序/软件
  • 实战:django项目环境搭建(pycharm,virtualBox)
  • Jenkins: 配置自动化发布脚本
  • 蓝桥杯2022年第十三届省赛真题-GCD
  • CSS3病毒病原体图形特效
  • iOS 开发 block 等待 block 或 block 等待
  • 基于opencv的图像处理系统的设计与实现
  • 如何在“Microsoft Visual Studio”中使用OpenCV编译应用程序
  • spring boot-操作excel(EasyExcel 快速开始)/ spring boot接受文件参数 File
  • 如何在Windows系统搭建Emby影音平台并实现远程访问本地文件【内网穿透】
  • 二进制安全找实习记录
  • unity内存优化之AB包篇(微信小游戏)
  • 动手学习深度学习之环境配置
  • STM32中MicroLIB的关闭为什么会导致卡死----解析
  • 【数据结构】堆
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • Apache Spark Streaming 使用实例
  • docker python 配置
  • iOS 颜色设置看我就够了
  • Java多态
  • Js基础知识(一) - 变量
  • JS题目及答案整理
  • React-flux杂记
  • react-native 安卓真机环境搭建
  • SQLServer之索引简介
  • Vue.js源码(2):初探List Rendering
  • vue-cli3搭建项目
  • Yeoman_Bower_Grunt
  • 安装python包到指定虚拟环境
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 深入 Nginx 之配置篇
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 问题之ssh中Host key verification failed的解决
  • 怎么把视频里的音乐提取出来
  • MPAndroidChart 教程:Y轴 YAxis
  • postgresql行列转换函数
  • 如何正确理解,内页权重高于首页?
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (LeetCode) T14. Longest Common Prefix
  • (多级缓存)多级缓存
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)u-boot-nand.bin的下载
  • (转)大道至简,职场上做人做事做管理
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .naturalWidth 和naturalHeight属性,
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET Micro Framework初体验