LeetCode1371. Find the Longest Substring Containing Vowels in Even Counts

文章目录

    • 一、题目
    • 二、题解

一、题目

Given the string s, return the size of the longest substring containing each vowel an even number of times. That is, ‘a’, ‘e’, ‘i’, ‘o’, and ‘u’ must appear an even number of times.

Example 1:

Input: s = “eleetminicoworoep”
Output: 13
Explanation: The longest substring is “leetminicowor” which contains two each of the vowels: e, i and o and zero of the vowels: a and u.
Example 2:

Input: s = “leetcodeisgreat”
Output: 5
Explanation: The longest substring is “leetc” which contains two e’s.
Example 3:

Input: s = “bcbcbc”
Output: 6
Explanation: In this case, the given string “bcbcbc” is the longest because all vowels: a, e, i, o and u appear zero times.

Constraints:

1 <= s.length <= 5 x 10^5
s contains only lowercase English letters.

二、题解

class Solution {
public:int findTheLongestSubstring(string s) {int n = s.size();vector<int> map(32,-2);map[0] = -1;int res = 0,status = 0;for(int i = 0;i < n;i++){int m = move(s[i]);if(m != -1) status ^= (1 << m);if(map[status] != -2) res = max(res,i - map[status]);else map[status] = i;}return res;}int move(char c){switch(c){case 'a' : return 0;case 'e' : return 1;case 'i' : return 2;case 'o' : return 3;case 'u' : return 4;default : return -1;}}
};

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

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

相关文章

C#编程-实现重写

实现重写 实现派生类中基类的成员称为重写。在C#中,可以重写方法、属性和索引器。 重写是多态性的一种形式,因为它使您能够创建具有相同名称和不同功能的不同代码块。 重写函数 在面向对象编程中,子类可以提供超类中已定义的专门版本的函数。这称为函数重写。 函数重写是…

恢复 iPhone 和 iPad 数据的 10 个好工具 - [苹果数据恢复]

它发生了.. 有时您需要从您的手机或平板设备恢复重要数据。 许多人已经开始将重要文件存储在手机上&#xff0c;因为他们几乎可以在任何情况下随时随地轻松访问数据。 不言而喻; 您可以轻松访问您的电子邮件、共享图片、编辑和共享文档、支付账单等等&#xff0c;只需在您的手…

Git LFS 大文件存储

Git 碰到大文件的困境 Git 是业界流行的分布式版本控制工具&#xff0c;本地仓库与远端仓库同样保存了全量的文件和变更历史&#xff0c;这样让代码协作变得简单和高效。但也正因为如此&#xff0c;Git针对大型文件&#xff08;例如图片、视频或其他二进制文件&#xff09;的版…

RT-Thread GD32F4xx实现SD卡热插拔检测功能

GD32F470移植RT-Thread操作系统添加SD卡功能&#xff0c;增加SD卡热插拔检测 一、RT-Thread移植sd卡功能二、实现SD卡热插拔检测原理三、软件实现过程四、延展之ASSERT ERROR&#xff0c;即RT-Thread断言错误五、延展之STM32 SD卡热插拔检测六、结束语 一、RT-Thread移植sd卡功…

最近很火的一款的低代码开发平台

目录 一、JNPF开发平台 二、JNPF界面示意图 三、技术栈展示 技术点&#xff1a; 开发环境 前后端分离 服务无状态 现在&#xff0c;很多公司在数据化的过程中&#xff0c;都需要构建很多相应的内部工具来支持他们的业务发展&#xff0c;比如运营使用的活动后台、用户管理…

鸿蒙HarmonyOS-SDK管理使用指南

鸿蒙HarmonyOS-SDK管理使用指南 文章目录 鸿蒙HarmonyOS-SDK管理使用指南sdkmgr使用指导查看SDK组件安装组件卸载组件查看sdkmgr版本查看sdkmgr帮助options选项说明 ohsdkmgr使用指导查看SDK组件安装组件卸载组件查看ohsdkmgr版本查看ohsdkmgr帮助options选项说明 sdkmgr使用指…

红队专题-Golang工具ChYing

Golang工具ChYing 招募六边形战士队员原chying工具代码分析并发访问控制并发 原子 写入读取 通道嵌套映射结构初始化启动代理服务器重启代理服务器 招募六边形战士队员 一起学习 代码审计、安全开发、web攻防、逆向等。。。 私信联系 原chying工具代码分析 前有 Chying 后有…

DAY6--learning english

一、积累 1.sip She took a small sip of the hot tea to savor its delicate flavor. 她小口抿了一口热茶&#xff0c;细细品味其中的淡雅滋味。 2.vacuum Expreience the amazing cleaning power of vaccum cleaner. 体验真空吸尘器惊人的清洁能力。 3.stray Stray kitte…

RT-Thread I/O设备驱动接口

创建和注册I/O设备 驱动层负责创建设备实例&#xff0c;并注册到I/O设备管理器中&#xff0c;可以通过静态申明的方式创建设备实例&#xff0c;也可以用下面的接口进行动态创建&#xff1a; rt_device_t rt_device_create(int type, int attach_size);type&#xff1a;设备类…

伴鱼实时数仓建设案例

伴鱼实时数仓建设案例 文章目录 伴鱼实时数仓建设案例伴鱼实时作业应用场景伴鱼实时数仓的建设体系DWD 层复杂场景数据处理方案1. 数据的去重2. join场景两条实时数据流相关联对于关联历史数据 3. 从数据形态观查join DWS 数据层数据处理方案未来与展望 随着伴鱼业务的快速发展…

什么企业可以办理CS?

&#xff08;一&#xff09;具有独立企业法人地位&#xff0c;从事信息系统建设和服务业务1年以上&#xff1b; &#xff08;二&#xff09;社会信誉良好&#xff0c;有良好的资信和公众形象&#xff0c;有良好的知识产权保护意识&#xff0c;近三年无触犯国家法律法规的行为&…

如何在 Windows 10、11 上恢复删除、未保存或覆盖的 Excel 文件?

我们中的大多数人可能都经历过其中一种情况——关闭电源时未保存 Excel 文件或误点击“不要保存”&#xff0c;不小心删除了重要的 Excel 文件&#xff0c;或覆盖了 Excel 文件而未保存原始副本。在遇到这些情况时&#xff0c;我们都会为没有采取适当的措施而感到内疚&#xff…

SpringSecurity入门demo(三)多用户身份认证

WebSecurityConfigurerAdapter配置文件在 configure(AuthenticationManagerBuilder auth) 方法中完成身份认证。前面的demo都只有一个用户&#xff0c;security中使用UserDetailsService做为用户数据源 &#xff0c;所以可以实现UserDetailsService 接口来自定义用户。实现方…

计算机毕业设计----Springboot超市订单管理系统

项目介绍 该超市订单管理毕业设计基于jdk8版本开发&#xff0c;在部署时需要使用jdk8以上的版本。使用了目前流行的框架组合springbootmybatis的框架技术&#xff0c; 实现了供应商管理对供应商实现增删改查、订单管理对超市订单实现增删改查、用户管理等功能&#xff0c;适用…

第二十二章 调用Callout Library函数 - 使用过程索引进行测试

文章目录 第二十二章 调用Callout Library函数 - 使用过程索引进行测试方法 GetGraph() 使用进程索引进行测试使用进程索引测试新版本的“inputlibrary.dll” 第二十二章 调用Callout Library函数 - 使用过程索引进行测试 方法 GetGraph() Method GetGraph(loopsize As %Inte…

Python 装饰器可以将代码减少一半

一、说明 这里&#xff0c;我将与您分享一些令人惊叹的 Python 装饰器&#xff0c;它们可以将您的代码减少一半。听起来好得令人难以置信&#xff0c;对吧&#xff1f;好吧&#xff0c;让我向您展示它们是如何工作的以及为什么应该在项目中使用它们。 二、什么是 Python 装饰器…

都是取所有行的某列数据,这个array[:,2]和array[:,2:3]有什么不同呢

效果图 代码 import numpy as nplist [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20],[21,22,23,24,25] ] array np.array(list) print(array) 输出&#xff1a; [[ 1 2 3 4 5][ 6 7 8 9 10][11 12 13 14 15][16 17 18 19 20][21 22 23 24 25]]a arr…

想要安利给所有人的开发工具

Visual Studio Code - 一个轻量级且功能丰富的代码编辑器&#xff0c;支持多种编程语言&#xff0c;拥有强大的插件和工具集。 Git - 一个分布式版本控制系统&#xff0c;可以帮助开发团队协作、跟踪代码变更和管理代码库。 Postman - 一个用于API开发和测试的工具&#xff0…

【上分日记】第369场周赛(分类讨论 + 数学 + 前缀和)

文章目录 前言正文1.3000. 对角线最长的矩形的面积2.3001. 捕获黑皇后需要的最少移动次数3.3002. 移除后集合的最多元素数3.3003. 执行操作后的最大分割数量 总结尾序 前言 终于考完试了&#xff0c;考了四天&#xff0c;也耽搁了四天&#xff0c;这就赶紧来补这场周赛的题了&a…

关于文件上传功能的安全方面的考量

文章目录 场景安全实现 场景 最近做了一个文件上传的功能&#xff0c;下面说进行了哪些方面实现 安全实现 验证登录验证登录用户是否有文件上传接口的权限限制文件大小检验文件后缀,文件头文件单独存储&#xff0c;可以考虑使用第三方服务 比如:七牛云设置文件的rwx权限, rw根…