目录

滑动窗口。

1456 定长子串中元音的最大数目

采用滑动窗口。每次移动一个位置,判断当前窗口内的子串内目标元素的个数,若比之前更大就更新结果。

如何判断是否更新结果?也即,如何判断当前窗口内所含目标元素个数,是否为遍历到这个窗口为止的最大值?

对于下图的字符串 abci,假如我们已经计算出了子串 abc 的元音个数,那么从子串 abc 到子串 bci,只需要考虑移除(离开窗口)的字母 a 是不是元音,以及添加(进入窗口)的字母 i 是不是元音即可,因为中间的字母 b 和 c 都在这两个子串中。

无非就这几种情况:

  • a 是,i 不是,则下一个窗口内的子串必不符合
  • a 是,b 也是,则下一个窗口内的子串必不符合(与当前最高记录个数相同)
  • a 不是,i是,则下一个窗口内的串必然刷新答案
  • a不是,i 不是,则下一个窗口内的子串必不符合(与当前最高记录个数相同)
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
薯条不要番茄酱1 分钟前
【JavaEE初阶】多线程重点知识以及常考的面试题-多线程进阶(二)
java·开发语言·java-ee
User_芊芊君子11 分钟前
Java与C在典型场景下的性能对比深度剖析
java·c语言·开发语言
谦行21 分钟前
前端视角 Java Web 入门手册 5.6:真实世界 Web 开发——Redis
java·spring boot·后端
软件开发-NETKF888838 分钟前
idea报错java: 非法字符: ‘\ufeff‘解决方案
java·ide·intellij-idea
风象南38 分钟前
SpringBoot中4种接口幂等性实现策略
java·spring boot·后端
island131439 分钟前
《突破控件限制:用Qt绘图API解锁高级界面定制能力》
java·数据库·qt
洛小豆1 小时前
在Java中Exception 和 Error 有什么区别?
java·后端·面试
珹洺2 小时前
JSP技术入门指南【一】利用IDEA从零开始搭建你的第一个JSP系统
java·开发语言·前端·html·intellij-idea·jsp
User_芊芊君子3 小时前
跨平台开发选Java还是C?应用场景与性能深度对比
java·c语言·开发语言
寻梦人121383 小时前
关于在Spring Boot + SpringSecurity工程中Sercurity上下文对象无法传递至新线程的问题解决
java·spring boot·后端