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

2024-03-14 23:36

本文主要是介绍1456.定长子串中元音的最大数目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目:给你字符串 s 和整数 k 。

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

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

               

解题思路:

1.右侧新进入窗口的字母为元音字母,左侧移出窗口的字母也是元音字母,这样一进一出抵消了。

2.右侧新进入窗口的字母为元音字母,左侧移出窗口的字母非元音字母,此时元音字母个数+1

3.右侧新进入窗口的字母非元音字母,左侧移出窗口的字母为元音字母,此时元音字母个数-1

class Solution{public int maxVowels(String s,int k){int n=s.length();int vowel_count=0;for(int i=0;i<k;++i){vowel_count+= isVowel(s.charAt(i));       }    int ans=vowel_count;for(int i=k;i<n;++i){vowel_count +=isVowel(s.charAt(i))-isVowel(s.charAt(i-k));ans=Math.max(ans,vowel_count);        }return ans;}public int isVowel(char ch){return ch=='a'|| ch=='e' || ch=='i' ||ch=='o' || ch=='u' ?1:0;    }
}

这篇关于1456.定长子串中元音的最大数目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/810076

相关文章

关于修改计算机的处理器数和最大内存数的问题

问题描述: 刚开始本来是想让计算机的运行速度运行的快点,于是在网上搜索如何让计算机的运行速度更快,找到了一种关于修改计算机内存数和计算机的处理核数可以让计算机运行的更快。 遇到问题: 当我通过命令msconfig →引导→高级选项→勾选了处理器数和最大内存数,然后重启,结构整个计算机都卡的要死,于是记录下来。网上的答案有时候真的是很不负责任,也有可能是自己技术不到位。 结果:取消处理器和内

LeetCode 算法:二叉树的最大深度 c++

原题链接🔗:二叉树的最大深度 难度:简单⭐️ 题目 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:3 示例 2: 输入:root = [1,null,2] 输出:2 提示: 树中节点的数量在 [0, 104] 区间内。-1

「LeetCode 084」最大面积

题目地址: https://leetcode-cn.com/problems/largest-rectangle-in-histogram/ 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。 example 第一种方法,我们先确定左右两个边界,然后找边界中的最小值。比方说,我们左边界确定

查询每名学生的学号、选修课程数目、总成绩、并将查询结果存放到生成的’学生选课统计表‘中

--查询每名学生的学号、选修课程数目、总成绩、并将查询结果存放到生成的’学生选课统计表‘中use teachinggoif exists (select * from sys.objects where name='学生选课统计表')drop table 学生选课统计表select studentno,COUNT(*) as '选修课程数目',sum(final) as '总成绩' i

Leetcode3185. 构成整天的下标对数目 II

Every day a Leetcode 题目来源:3185. 构成整天的下标对数目 II 解法1:哈希 本质思路类同经典的“两数之和”。枚举右,用哈希表维护左。 枚举 j,并维护 cnt[x] 表示所有满足 i < j 的下标 i 中,有几个 hours[i] 模 24 等于 x。设 y = nums[j] % 24,那么答案就是 sum(cnt[(24 - y) % 24])。 注意

最大子数组问题(第4章:分治策略)

求子数组的最大和 题目描述: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, 因此输出为该子数组的和18。   思路 1 当我们加上一个正数时,和会

代码随想录算法训练营day62 | 42. 接雨水、84.柱状图中最大的矩形

42. 接雨水 暴力解法 遍历每根柱子(第一个和最后一个不需要遍历,因为不可能存住水),找到当前柱子的左边最高柱子lHeight,右边最高柱子rHeight,当前柱子能存的水为min(min(lHeight, rHeight) - 当前柱子的高度, 0) class Solution:def trap(self, height: List[int]) -> int:result = 0for

Netty中分隔符和定长解码器的应用

一.使用DelimiterBasedFrameDecoder自动完成以分隔符作为结束标志的解码 1.1 DelimiterBasedFrameDecoder服务端开发 1.1.1 EchoServer实现 import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.ByteBuf; import io.netty.b

Python-算法编程100例-前缀和双指针(入门级)-最长的指定瑕疵度的元音子串

题目描述: 元音字符为“aeiouAEIOU” 给定一个字符串,求字符串中满足指定瑕疵度的最长元音子串的长度。元音子串为字符串中开头和结尾都是元音字符的字符串,瑕疵度为子串中非元音字符的个数。 题目分析: 1、直接使用双指针,难度稍微有些大,边界不好处理。 2、使用前缀和+双指针,题目难度简化。 瑕疵度k=0原始字符串asdbuiodevauufgh元音字符到起始位置的瑕疵度00003

最长回文子串(百度笔试题和hdu 3068)

版权所有。所有权利保留。 欢迎转载,转载时请注明出处: http://blog.csdn.net/xiaofei_it/article/details/17123559 求一个字符串的最长回文子串。注意子串是连续的,子序列是不连续的。对于最长回文子序列,要用动态规划解,具体请看: http://blog.csdn.net/xiaofei_it/article/details/1