5918. 统计字符串中的元音子字符串

5918. 统计字符串中的元音子字符串

子字符串 是字符串中的一个连续(非空)的字符序列。

元音子字符串 是 仅 由元音(‘a’、‘e’、‘i’、‘o’ 和 ‘u’)组成的一个子字符串,且必须包含 全部五种 元音。

给你一个字符串 word ,统计并返回 word 中 元音子字符串的数目 。

示例 1:输入:word = "aeiouu"
输出:2
解释:下面列出 word 中的元音子字符串(斜体加粗部分):
- "aeiouu"
- "aeiouu"示例 2:输入:word = "unicornarihan"
输出:0
解释:word 中不含 5 种元音,所以也不会存在元音子字符串。示例 3:输入:word = "cuaieuouac"
输出:7
解释:下面列出 word 中的元音子字符串(斜体加粗部分):
- "cuaieuouac"
- "cuaieuouac"
- "cuaieuouac"
- "cuaieuouac"
- "cuaieuouac"
- "cuaieuouac"
- "cuaieuouac"示例 4:输入:word = "bbaeixoubb"
输出:0
解释:所有包含全部五种元音的子字符串都含有辅音,所以不存在元音子字符串。

提示:

  • 1 <= word.length <= 100
  • word 仅由小写英文字母组成

解题思路

遍历word所有的子串,检查每个子串中是否只包含全部五种 元音。

代码

class Solution {
public:int countVowelSubstrings(string word) {int res = 0;for (int i = 0; i + 5 <= word.size(); ++i) {for (int j = i + 5; j <= word.size(); ++j) {if (judge(word, i, j))res++;}}return res;}bool judge(string s, int l, int r) {bool a(false), e(false), i(false), o(false), u(false);for (int j = l; j < r; ++j) {if (s[j] == 'a')a = true;else if (s[j] == 'i')i = true;else if (s[j] == 'o')o = true;else if (s[j] == 'u')u = true;else if (s[j] == 'e')e = true;else return false;}return a & i & o & u & e;}
};

优化解题思路

遍历所有子串时,我们固定起始字符,遍历以该字符为起点的长度大于5的字符串,如果查找到了满足条件的子串,则直接向后查找连续的元音字母,如果可以查找到,则说明可以加入一个新的满足条件的子串,一旦遍历到非元音字母,则中止对长度的遍历

代码

class Solution {
public:int countVowelSubstrings(string word) {int res = 0;unordered_set<char> set{'a', 'i', 'o', 'u', 'e'};for (int i = 0; i + 5 <= word.size(); ++i) {for (int j = i + 5; j <= word.size(); ++j) {if (judge(word, i, j)) {res++;while (j < word.size() && set.find(word[j]) != set.end()){res++;j++;}break;}}}return res;}bool judge(string s, int l, int r) {bool a(false), e(false), i(false), o(false), u(false);for (int j = l; j < r; ++j) {if (s[j] == 'a')a = true;else if (s[j] == 'i')i = true;else if (s[j] == 'o')o = true;else if (s[j] == 'u')u = true;else if (s[j] == 'e')e = true;else return false;}return a & i & o & u & e;}
};

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

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

相关文章

咕泡-模板方法 template method 设计模式笔记

2019独角兽企业重金招聘Python工程师标准>>> 模板方法模式&#xff08;Template Method&#xff09; 定义一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类中Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤Template Me…

如何评价强gis与弱gis_什么是gis的简化解释

如何评价强gis与弱gisTL;DR — A Geographic Information System is an information system that specializes in the storage, retrieval and display of location data.TL; DR — 地理信息系统 是专门从事位置数据的存储&#xff0c;检索和显示的信息系统。 The standard de…

clone-graph

1. clone-graph Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. 思路&#xff1a;dfs&#xff0c;其实就是递归。 1 /**2 * Definition for undirected graph.3 * struct UndirectedGraphNode {4 * int label;5 * …

5919. 所有子字符串中的元音

5919. 所有子字符串中的元音 给你一个字符串 word &#xff0c;返回 word 的所有子字符串中 元音的总数 &#xff0c;元音是指 ‘a’、‘e’、‘i’、‘o’ 和 ‘u’ 。 子字符串 是字符串中一个连续&#xff08;非空&#xff09;的字符序列。 注意&#xff1a;由于对 word …

Scrum冲刺-Ⅳ

第四次冲刺任务 团队分工 成员&#xff1a;刘鹏芝&#xff0c;罗樟&#xff0c;王小莉&#xff0c;沈兴艳&#xff0c;徐棒&#xff0c;彭康明&#xff0c;胡广键 产品用户&#xff1a;王小莉 需求规约&#xff1a;彭康明&#xff0c;罗樟 UML&#xff1a;刘鹏芝&#xff0c;沈…

Github入门详情教程

前言 之前我写了一篇文章《一篇文章了解Github和Git教程》还延伸了几篇阅读&#xff0c;对大部分小白很有用&#xff0c;那么我继续普及下Github页面及其概念。 定义 GitHub 是一个网站&#xff0c;一个面向开源及私有软件项目的托管平台&#xff0c;因为只支持Git作为唯一的版…

机器人影视对接_机器学习对接会

机器人影视对接A simple question like ‘How do you find a compatible partner?’ is what pushed me to try to do this project in order to find a compatible partner for any person in a population, and the motive behind this blog post is to explain my approach…

Android系统启动系列----init进程

Android系统启动系列 Android系统启动系列----init进程Android系统启动系列----Zygote进程引言 在开发app的过程中&#xff0c;是不是会有疑问&#xff1a; java程序的运行不是从main方法开始么&#xff0c;怎么app入口是Application的onCreate方法&#xff1f;那java的运行环境…

598. 范围求和 II

598. 范围求和 II 给定一个初始元素全部为 0&#xff0c;大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示&#xff0c;其中的每个操作用一个含有两个正整数 a 和 b 的数组表示&#xff0c;含义是将所有符合 0 < i < a 以及 0 < j < b 的元…

mysql 数据库优化之执行计划(explain)简析

数据库优化是一个比较宽泛的概念&#xff0c;涵盖范围较广。大的层面涉及分布式主从、分库、分表等&#xff1b;小的层面包括连接池使用、复杂查询与简单查询的选择及是否在应用中做数据整合等&#xff1b;具体到sql语句执行效率则需调整相应查询字段&#xff0c;条件字段&…

自我接纳_接纳预测因子

自我接纳现实世界中的数据科学 (Data Science in the Real World) Students are often worried and unaware about their chances of admission to graduate school. This blog aims to help students in shortlisting universities with their profiles using ML model. The p…

距离产生美

那天下午我跟简坐在学校操作草地上聊天 夕阳的余晖照射着我们 阳光在青草的缝隙间拉长了倒影 温暖的晚风轻拂着简刘海前的几根发丝 淡淡的发香迎面扑来&#xff0c;我望着远山上的烟囱。 对简说&#xff1a; 我觉得我们坐得太近了。感觉相距 50cm 比较好。 简一脸惊讶说&#x…

299. 猜数字游戏

299. 猜数字游戏 你在和朋友一起玩 猜数字&#xff08;Bulls and Cows&#xff09;游戏&#xff0c;该游戏规则如下&#xff1a; 写出一个秘密数字&#xff0c;并请朋友猜这个数字是多少。朋友每猜测一次&#xff0c;你就会给他一个包含下述信息的提示&#xff1a; 猜测数字…

mysql数据库中case when 的用法

场景1&#xff1a;比如说我们在数据库存了性别的字段&#xff0c;一般都是存0 和 1 代表男和女 然后我们会得到0和1之后在java中判断 &#xff0c;很麻烦有么有&#xff1f;其实我们完全可以在sql中判断好之后拿来现成的。就是在sql中做判断就ok SELECT*,CASEWHEN ly app th…

python中knn_如何在python中从头开始构建knn

python中knnk最近邻居 (k-Nearest Neighbors) k-Nearest Neighbors (KNN) is a supervised machine learning algorithm that can be used for either regression or classification tasks. KNN is non-parametric, which means that the algorithm does not make assumptions …

CRT配色

http://a0bd2668.wiz03.com/share/s/2wLipE0wJ4Wl28H1oC2BIvEv02vmgz3S_QjT2YHyWG2t2nng转载于:https://blog.51cto.com/13420391/2164540

5920. 分配给商店的最多商品的最小值

5920. 分配给商店的最多商品的最小值 给你一个整数 n &#xff0c;表示有 n 间零售商店。总共有 m 种产品&#xff0c;每种产品的数目用一个下标从 0 开始的整数数组 quantities 表示&#xff0c;其中 quantities[i] 表示第 i 种商品的数目。 你需要将 所有商品 分配到零售商…

A*

转自http://www.mamicode.com/info-detail-1534200.html康托展开X a[1]*(n-1)!a[2]*(n-2)!...a[i]*(n-i)!...a[n-1]*1!a[n]*0!其中a[i]表示在num[i1..n]中比num[i]小的数的数量逆康托展开由于&#xff1a;a[i]≤n-i, a[i]*(n-i)!≤(n-i)*(n-i)!<(n-i1)!于是我们得到&#x…

unity第三人称射击游戏_在游戏上第3部分完美的信息游戏

unity第三人称射击游戏Previous article上一篇文章 The economics literature distinguishes the quality of a game’s information (perfect vs. imperfect) from the completeness of a game’s information (complete vs. incomplete). Perfect information means that ev…

JVM(2)--一文读懂垃圾回收

与其他语言相比&#xff0c;例如c/c&#xff0c;我们都知道&#xff0c;java虚拟机对于程序中产生的垃圾&#xff0c;虚拟机是会自动帮我们进行清除管理的&#xff0c;而像c/c这些语言平台则需要程序员自己手动对内存进行释放。 虽然这种自动帮我们回收垃圾的策略少了一定的灵活…