【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目

server/2024/11/14 14:25:43/

给你字符串 s 和整数 k

请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。

英文中的 元音字母 为(a, e, i, o, u)。

示例 1:

输入:s = "abciiidef", k = 3
输出:3
解释:子字符串 "iii" 包含 3 个元音字母。

示例 2:

输入:s = "aeiou", k = 2
输出:2
解释:任意长度为 2 的子字符串都包含 2 个元音字母。

示例 3:

输入:s = "leetcode", k = 3
输出:2
解释:"lee"、"eet" 和 "ode" 都包含 2 个元音字母。

示例 4:

输入:s = "rhythms", k = 4
输出:0
解释:字符串 s 中不含任何元音字母。

示例 5:

输入:s = "tryhard", k = 4
输出:1

提示:

  • 1 <= s.length <= 10^5
  • s 由小写英文字母组成
  • 1 <= k <= s.length

 我的解答:

java">class Solution {public int maxVowels(String s, int k) {int res = 0;int[] nums = new int[s.length()];Arrays.fill(nums,0);for(int i = 0;i < s.length();i++){// 非元音字母以0表示,元音字母以1表示if(s.charAt(i) == 'a' || s.charAt(i) == 'e' || s.charAt(i) == 'i' || s.charAt(i) == 'o' || s.charAt(i) == 'u'  ){nums[i] = 1;}}int d = 0;for(int i = 0; i < nums.length;i++){// 记入每段长度为k的字符串中的元音字母数d += i < k ? nums[i] : nums[i] - nums[i-k];res = Math.max(d,res);}return res;}
}

 


http://www.ppmy.cn/server/141204.html

相关文章

Openlayers10.2.1最新版在安卓Compose中使用的一个例子

题目 这是一个中小公司的面试题&#xff1a; Openlayers 是一个功能完善的地图引擎&#xff0c;能在WEB页面上显示瓦片地图或者矢量地图&#xff0c;官方网址是https://openlayers.org/。 1、尝试做一个安卓App&#xff0c;使用Openlayers显示高德或者百度在线地图&#xff0c…

分布式——BASE理论

简单来说&#xff1a; BASE&#xff08;Basically Available、Soft state、Eventual consistency&#xff09;是基于CAP理论逐步演化而来的&#xff0c;核心思想是即便不能达到强一致性&#xff08;Strong consistency&#xff09;&#xff0c;也可以根据应用特点采用适当的方…

【react18】你可能要知道的关于权限按钮效果的优雅实现

权限按钮&#xff0c;跟权限路由一样&#xff0c;不同的角色登录app,展示不同的菜单页面&#xff0c;一个页面内管理可以进行删除记录等操作&#xff0c;普通的成员之有阅读的权限&#xff0c;这就是权限按钮需要做的事。 实现效果 三个按钮全显示。 后端没有返回该用户的新增…

Java NIO实现高性能HTTP代理

NIO采用多路复用IO模型&#xff0c;相比传统BIO&#xff08;阻塞IO&#xff09;&#xff0c;通过轮询机制检测注册的Channel是否有事件发生&#xff0c;可以实现一个线程处理客户端的多个连接&#xff0c;极大提升了并发性能。 在5年前&#xff0c;本人出于对HTTP正向代理的好…

Flink介绍

什么是Flink Apache Flink 是一个开源的流处理框架&#xff0c;用于处理实时数据流和批处理数据。它具有高吞吐量、低延迟和容错性强的特点&#xff0c;适用于各种实时数据处理场景&#xff0c;如实时分析、事件驱动应用和数据管道等。Flink 提供了丰富的 API&#xff0c;支持…

基础数据结构——队列(链表实现)

队列的性质 先进先出&#xff08;FIFO - First In First Out&#xff09;&#xff1a;最先加入队列的元素最先被移出后进后出&#xff08;后来的元素排在队尾&#xff09;只允许在队尾插入元素&#xff0c;在队首删除元素具有先来先服务的特点 链表实现队列 和之前创建链表相…

【ROS2】usb摄像头识别二维码

1、安装依赖 1)安装usb摄像头 ROS包: sudo apt install ros-humble-usb-cam2)安装二维码识别库 sudo apt install libzbar-dev3)安装opencv cv::Mat和sensor_msgs转换库 sudo apt install ros-humble-cv-bridge4)安装pydantic库 pip3 install pydantic==1.10.7注意版…

ImportError: cannot import name ‘packaging‘ from ‘pkg_resources‘ 的参考解决方法

文章目录 写在前面一、问题描述二、解决方法参考链接 写在前面 自己的测试环境&#xff1a; Ubuntu20.04 ROS-Noetic 一、问题描述 自己在通过 pip install 安装module时 &#xff08;使用的是 pip install mmcv&#xff09;遇到如下问题&#xff1a; ImportError: cannot …