LeetCode //C - 1456. Maximum Number of Vowels in a Substring of Given Length

1456. Maximum Number of Vowels in a Substring of Given Length

Given a string s and an integer k, return the maximum number of vowel letters in any substring of s with length k.
Vowel letters in English are ‘a’, ‘e’, ‘i’, ‘o’, and ‘u’.
 

Example 1:

Input: s = “abciiidef”, k = 3
Output: 3
Explanation: The substring “iii” contains 3 vowel letters.

Example 2:

Input: s = “aeiou”, k = 2
Output: 2
Explanation: Any substring of length 2 contains 2 vowels.

Example 3:

Input: s = “leetcode”, k = 3
Output: 2
Explanation: “lee”, “eet” and “ode” contain 2 vowels.

Constraints:
  • 1 < = s . l e n g t h < = 1 0 5 1 <= s.length <= 10^5 1<=s.length<=105
  • s consists of lowercase English letters.
  • 1 <= k <= s.length

From: LeetCode
Link: 1456. Maximum Number of Vowels in a Substring of Given Length


Solution:

Ideas:
  • s is the input string.
  • k is the length of the substring.
  • isVowel is a helper function to check if a character is a vowel.
  • The function first counts the number of vowels in the first window of size k.
  • Then it iterates through the string, sliding the window one character at a time, updating the vowel count, and keeping track of the maximum vowel count found.
Code:
// Helper function to check if a character is a vowel
bool isVowel(char c) {return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
}int maxVowels(char *s, int k) {int maxVowelCount = 0, currentVowelCount = 0;// Initial count of vowels in the first windowfor (int i = 0; i < k; ++i) {if (isVowel(s[i])) {currentVowelCount++;}}maxVowelCount = currentVowelCount;// Slide the window and update countsfor (int i = k; s[i] != '\0'; ++i) {if (isVowel(s[i])) {currentVowelCount++;}if (isVowel(s[i - k])) {currentVowelCount--;}if (currentVowelCount > maxVowelCount) {maxVowelCount = currentVowelCount;}}return maxVowelCount;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501213.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tft lcd驱动参数详解_LED拼接屏和LCD拼接屏的区别

LED屏幕和LCD屏幕是每个人都经常听到的两个屏幕&#xff0c;但是每个人之间的区别尚不清楚。不认识的人可能会认为两者之间没有区别。让我们谈谈LED和LCD屏幕之间的区别&#xff1a;首先&#xff0c;什么是LED&#xff1f; LED是发光二极管&#xff0c;LED拼接屏是由发光二极管…

求有向图的简单路径_2020福建农信社招聘-关键路径

2020福建农信社公告暂未发布&#xff0c;预计于2020年1月发布公告&#xff0c;历年福建农信社笔试以纸考形式进行&#xff0c;同时笔试内容包含经济、金融、计算机、法律、财会、公基、三农、农信文化、普惠金融、市场营销、时政等部分&#xff0c;相对而言考试知识点较多&…

Linux中的【.】【./】【/】代表的含义【转载】

/是指根目录&#xff0c;就和Windows的我的电脑那个位置差不多。 ./是指用户所在的当前目录。 如下所示&#xff1a; [root~]# cd /etc [root etc]# pwd /etc [rootetc]# cd / [root /]# pwd / [root /]# cd /etc [rootetc]# cd ./ [rootetc]# pwd /etc [root etc]# 下面是linu…

cad插件_CAD插件自动编号安装教程

插件下载[名称]&#xff1a;CAD插件-自动编号[大小]&#xff1a;3.67MB [语言]&#xff1a;简体中文 [安装环境]&#xff1a;Win7/Win8/Win10[支持版本]&#xff1a;CAD2004-2020[32/64位下载链接]&#xff1a;pan.baidu.com/s/1XACgkA4OTrsk08QdGQB9RQ[提取码]: 8327安装中有…

python中递归函数基例_智慧树python答案

智慧树python答案s "abcd1234"&#xff0c;find()函数可以在字符串中搜索子串&#xff0c;s.find("cd")返回的结果是__________。单try语句(只使用一个try)能够捕捉多种类型的错误"abc"的长度是3&#xff0c;"老师好"的长度是多少&am…

Nginx的初步安装

目录 Nginx的初步安装 1.使用远程连接工具连接Linux操作系统 2.因为是开源的&#xff0c;所以可以去官网直接下载 3.安装Nginx前需要安装一些相关的依赖包 第一步&#xff1a;&#xff08;用第一种方式&#xff1a;wget的方式&#xff09;安装pcre 第二步&#xff1a;安装…

苹果手机电越充越少怎么回事_手机充着电,电量缺越来越少是怎么回事?

手机充电状态下越充越少一般由以下几个方面原因造成&#xff1a;手机系统故障&#xff0c;因此导致电池电量显示出现问题。充电器出现故障。充电器和手机接触不良。手机电池出现问题。手机本身存在质量问题。解决方法&#xff1a;手机系统故障&#xff0c;因此导致电池电量显示…

springboot中文语音识别_【记录】语音识别软件包、代码示例、数据集汇集

语音识别工具&#xff08;1&#xff09;librosa&#xff1a;python&#xff0c;视频与音乐分析链接&#xff1a;https://github.com/librosa/librosa&#xff08;2&#xff09;ASRT_SpeechRecognition&#xff1a;python&#xff0c;基于深度学习的中文语音识别系统链接&#x…

串口助手驱动_STM32Cube22(补充) | 使用硬件I2C驱动OLED(SSD1306)

点上方蓝字关注我们每天都有好玩的东西等着你本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设驱动0.96OLED屏幕。1. 准备工作硬件准备开发板首先需要准备一个开发板&#xff0c;这里我准备的是STM32L4的开发板(BearPi)&#xff1a;OLED屏幕这里我使用的是0…

Nginx的开启和关闭

目录 Nginx操作的常用命令 1.首先进入Nginx的目录 2.查看Nginx的版本号 3.启动Nginx 4.关闭Nginx 5.重新加载Nginx Nginx操作的常用命令 1.首先进入Nginx的目录 /usr/local/nginx/sbin 2.查看Nginx的版本号 3.启动Nginx 查看进程状态&#xff1a;是否有nginx进程启动 4…

jq 通过标签名称获取标签_如何快速通过今日头条原创标签的审核?

拥有头条自媒体的作者越来越多&#xff0c;未来可能会有更多的人拥有自媒体平台&#xff0c;但真正能够获得平台授予的原创标签的作者&#xff0c;恐怕是少了许多&#xff0c;头条号对于原创标签的审核尤为严格&#xff0c;如何快速通过原创标签的申请&#xff0c;下面为大家分…

python总结教程_python基础教程总结10——文件

1.打开文件open(name[mode[,buffing]) 参数&#xff1a; 文件&#xff0c;模式&#xff0c;缓冲1)name: 是强制选项&#xff0c;模式和缓冲是可选的#如果文件不在&#xff0c;会报下面错误1 >>> f open(rD:\text.txt,r)2 Traceback (most recent call last):3 Fi…

Nginx的配置文件

目录 Nginx的配置文件 1.找到Nginx配置文件的位置 2.Nginx配置文件组成 第一部分&#xff1a;全局块 第二部分&#xff1a;events块 第三部分&#xff1a;http块 &#xff08;1&#xff09;http 全局块 &#xff08;2&#xff09;server 块 Nginx的配置文件 1.找到Ngin…

C++为什么空格无法输出_OOP 面向对象编程:由 C 到 C++

作者&#xff1a;鲸90830链接&#xff1a;https://www.cnblogs.com/whale90830/p/10488595.html由C到COOP第一课C语言的局限C的特点C的程序特征C程序的结构特性C程序的编辑、编译和运行⭐C对C的补充C语言的局限类型检查机制相对较弱&#xff0c;使得程序中的一些错误不能在编译…

python获取钉钉日志数据_python3实现zabbix告警推送钉钉的示例

自己写了一个简单的python脚本&#xff0c;用来推送zabbix告警到钉钉机器人&#xff0c;推送格式为markdown&#xff0c;有需要的可以自己修改markdown的格式及推送的值(zabbix宏)环境如下&#xff0c;理论上zabbix版本不影响&#xff0c;可以看看官方宏定义是否有区别python 3…

idea无法导入主题jar包_总结IDEA开发的26个常用设置

IDEA 软件设置Settings页面Settings是对软件本身的一些属性进行配置&#xff0c;例如字体 主题 背景图 插件等。如何打开Settings设置页面Settings设置页面结构详解结构Appearance & Behavior 外观和行为Keymap 快捷键Editor 编辑器设置Plugins 插件Version Control 版本控…

Nginx的配置实例(反向代理准备工作)

目录 反向代理准备工作 1.实现效果 2.准备工作 &#xff08;1&#xff09;在 Linux 系统中安装 tomcat 服务器&#xff0c;使用默认端口号 &#xff08;2&#xff09;设置对外开放访问的 端口号 &#xff08;3&#xff09;测试&#xff1a;在 windows 系统中通过浏览器访…

交叉线和直通线各自用于什么场合?为什么?_【小麓讲堂】偏振光与LCD、OLED、3D、AR到底有什么关系?...

你了解自然界物体反射的光与电子显示设备发出的光有什么区别吗&#xff1f;你知道LCD、OLED、3D、AR的工作原理吗&#xff1f;你清楚偏振光与它们的关系吗&#xff1f;今天我们就跟大家聊一聊偏振光与多媒体显示设备的关系。人们常说眼睛是心灵的窗户&#xff0c;其实眼睛不单是…

php多个表中查找数据_Excel实战技巧74: 在工作表中创建搜索框来查找数据

学习Excel技术&#xff0c;关注微信公众号&#xff1a;excelperfect本文主要讲解如何创建一个外观漂亮的搜索框&#xff0c;通过它可以筛选数据并显示搜索结果。如下图1所示&#xff0c;在数据区域上方放置有一个文本框&#xff0c;用来输入要搜索的文本&#xff0c;其名称重命…

Nginx的配置实例(反向代理实例 )

目录 反向代理实例 1.实现效果 2.准备工作 &#xff08;1&#xff09;准备两个服务器&#xff0c;一个8080端口&#xff0c;一个 8081端口 &#xff08;2&#xff09;创建文件夹和测试页面 3.反向代理具体配置 &#xff08;1&#xff09;找到 nginx 配置文件&#xff0…