leetcode 1371. Find the Longest Substring Containing Vowels in Even Counts

【leetcode 1371. 每个元音包含偶数次的最长子字符串】Python解题思路 题目链接 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。 参照官方题解写的python代码 class Solution: def findTheLongestSubstring(self, s: str) -> int: location=[-1]*32 #保存各个状态最早出现位置 n=len(s) status=0 阅读详情
  1. Find the Longest Substring Containing Vowels in Even Counts

用state表示[0,i]子字符串的状态,状态有5个二进制位,对应5个元音字母的奇偶性,所以一共1<<5种状态。如果[0,i]和[0,j]是相同的状态,那么[i+1,j]即为符合条件的一个子串。用state_first_pos_vec存储每个状态第一次出现的位置,初始化为字符串长+1。线性遍历字符串,不断更新状态,最大长度,每个状态的第一次出现位置。
为了减小时间开销,只有在状态改变即遇到元音字母时,才更新最大长度和状态第一次出现的位置。

class Solution 
{
public:
    int findTheLongestSubstring(string s) 
    {
        int str_len=s.length();
        char vowels[5]={'a','e','i','o','u'};
        vector<int> state_first_pos_vec(32,str_len+1);// 32个str_len+1,记录32种状态第一次出现的位置
        state_first_pos_vec[0]=-1;
        int state=0;//当前状态
        int max_len=0;
        for(int pos=0;pos<str_len;++pos)
        {
            char ch=s[pos];
            for(int vid=0;vid<5;++vid)
            {
                char vowel=vowels[vid];
                if(ch==vowel)
                {
                    //如果当前字符是一个元音字符,说明状态在这时变化,根据上一步的状态更新最大长度
                    max_len=max(max_len,pos-1-state_first_pos_vec[state]);
                    state=state^(1<<vid);
                    //状态更新后,更新这个状态的第一次出现的位置(第一次出现位置初始值为str_len+1)
                    state_first_pos_vec[state]=min(state_first_pos_vec[state],pos);
                    break;
                }
            }    
        }
        //最后的一个字符也需要考虑
        max_len=max(max_len,str_len-1-state_first_pos_vec[state]);
        return max_len;
    }
};
第十五届蓝桥杯省赛C/C++B组H题【拔河】题解(AC) 由于枚举三个点肯定会超时,所以只能枚举两个点,我们尝试枚举第一个区间。的复杂度,需要找出右区间中和左区间的和最相近的值,可以考虑使用。一开始,我们将所有可能的右区间的区间和,都插入。做法同上,用前缀和优化数组求和的过程。的数组和差值最小是多少,其中。递增进行枚举左区间,当。的数组,求两个子数组。为左端点的区间的和。 阅读详情

相关推荐

戴尔G3/AWCC用户必看:揪出WMI Provider Host疯狂占用的元凶,附5.4.35旧版回退保姆级教程

本文针对戴尔G3/AWCC用户遇到的WMI Provider Host异常占用问题,提供了详细的诊断方法和解决方案。通过分析AWCC 5.5.14.0版本的资源占用问题,指导用户回退到稳定版AWCC 5.4.35,并附上保姆级教程和预防措施,帮助用户彻底解决系统卡顿问题。

weixin_30892037的博客 561

1371. Find the Longest Substring Containing Vowels in Even Counts

Title 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。 示例 1: 输入:s = “eleetminicoworoep” 输出:13 解释:最长子字符串是 “leetminicowor” ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。 示例 2: 输入:s = “leetcodeisgreat” 输出:5 解释:最长子字符串是 “leetc” ,其中包含 2 个 e 。 示例 3:

Alex 737

SAP ERP销售应收&成本科目确定

ERP作为业财一体软件,其中最核心的就是业务与财务模块的自动集成,无需财务进行手工做账,提高工作效率的同时降低人工操作产生的误差。今天浅浅的分享一下SD模块生成会计凭证时,借贷项确定的系统配置。一般项目上借贷项、科目都有FICO提供,但是具体的集成配置是在SD这边。

weixin_43657667的博客 1568

LeetCode 1371. Find the Longest Substring Containing Vowels in Even Counts【异或前缀和,位运算,哈希表,字符串】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。

memcpy0的博客 396

wps js宏获取工作簿、工作表、单元格的值、链接转图片、单元格区域数据转二维数组、保存工作簿的常用Excel操作

wps js宏入门看这里,我写了常用的js操作Excel的方法:获取工作簿对象、获取工作表对象、获取单元格的值、链接转图片、生成条形码图片、单元格区域数据转二维数组方法、保存工作簿、弹出输入框、YesNo选择框,助你从VBA转战JS。

huaermeier的博客 3万+

SO_KEEPALIVE、TCP_KEEPIDLE、TCP_KEEPINTVL、保活包

是一个套接字选项,用于设置是否启用 keepalive 机制。在这段代码中没有涉及到选项的设置。当被设置为非零值时,表示启用 keepalive 机制。keepalive 是一种用于检测连接是否仍然有效的机制。通过定期发送一些特定的探测数据,可以检测到网络连接的异常中断或对端应用程序的崩溃退出。为了避免以上情况,可以启用 keepalive 机制,即使在无数据传输的情况下也定期发送探测数据。如果在一定时间内没有收到对端的响应,就认为连接已经失效,并进行相应的处理。要启用选项,需要使用函数。其中,fd。

m0_46376834的博客 4815

LeetCode题解(1371):每个元音包含偶数次的最长子字符串(Python)

题目:原题链接(中等) 标签:字符串 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N2)O(N^2)O(N2) O(N2)O(N^2)O(N2) 超出时间限制 Ans 2 (Python) O(N)O(N)O(N) O(N)O(N)O(N) 1008ms (23.68%) Ans 3 (Python) O(N)O(N)O(N) O(N)O(N)O(N) 148ms (99.85%) 解法一(递归暴力解法): class Solution: d

长行 777

Label Studio 数据标注平台,大模型预训练与微调必备

摘要:LabelStudio是一款开源数据标注工具,支持文本、图像等多种数据类型的标注。本文介绍了其安装方法(通过conda创建环境并pip安装)、基础使用流程(创建项目、导入数据、设置标签、标注导出)以及AI自动标注功能的实现。重点讲解了如何通过MLBackend集成LangChain模型实现自动标注:创建自定义模型类、构建预测链、处理返回结果,最后配置到LabelStudio项目中。该功能可显著提升标注效率,标注人员只需在AI预测结果基础上进行修正。

技术引领业务创新 288

Leetcode 1160:拼写单词

题目描述 给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。 假如你可以用chars中的『字母』(字符)拼写出 words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。 注意:每次拼写时,chars 中的每个字母都只能用一次。 返回词汇表words中你掌握的所有单词的 长度之和。 示例 1: 输入:words = ["c...

weixin_35338624的博客 617

C# NX二次开发-查找连续倒圆角面

可以通过ufun函数 UF_MODL_ask_face_type 和 UF_MODL_ask_face_props 可判断处理选择相应的一组圆角面。在QQ群里有人问怎么通过一个选择一个倒圆角面来自动选中一组倒圆角面。这个是初步思路,如果有更好的思路可回复讨论一下。

fhqiwmc的博客 617

手把手教你完成YOLOv9 PyQt5目标检测界面搭建,实现图片检测、视频检测、摄像头检测,可用于大论文凑工作量或毕设必备,全网最详细教程

目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv9与 PyQt5,构建了一个图形化界面,便于用户进行目标检测的操作和展示,实现对图片、视频和摄像头的实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2657

[Leetcode 每日精选] 1371. 每个元音包含偶数次的最长子字符串

题目难度: 中等 原题链接 今天继续做每日一题, 这道题也算是一类典型题目了, 值得一做 题目描述 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。 1 <= s.length <= 5 x 10^5 s 只包含小写英文字母。 题目样例 示例 1 输入 s = “eleetminicoworoep” 输出 13 解释 最长子字符串是 “leetminicowor” ,它包含.

随便发挥的博客 525

Playwright实战:打造绕过全维度前端反爬的无头浏览器爬虫(2026实战版)

Playwright绕过前端反爬的核心是模拟真实:真实的设备指纹、真实的行为轨迹、真实的网络请求;2025年前端反爬的核心检测维度是设备指纹+行为轨迹+网络请求,三者缺一不可;实战中需重点关注WebGL/Canvas指纹模拟、行为随机性、请求头完整性,这是绕过反爬的关键;性能优化需以“不触发反爬”为前提,优先选择浏览器复用、资源拦截,而非无限制并发。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2094

【LeetCode 1371】 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

iCode_girl的博客 381

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

[leetcode] 1371. Find the Longest Substring Containing Vowels in Even Counts

Description 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 Explanati

Learning from the mistakes 258

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LeetCode 1371. Find the Longest Substring Containing Vowels in Even Counts

原题目:https://leetcode-cn.com/problems/find-the-longest-substring-containing-vowels-in-even-counts/ 思路:使用二进制数(00000),每一位代表元音出现的次数(1为奇数,0为偶数)。出现的情况共有32中,所以我们使用一个大小为32的pos数组,来存储相应状态是否出现,然后利用前缀和,就可以计算出结果了。 本题使用到一下数学知识:奇数-奇数=偶数,偶数-偶数=偶数。 代码: class Sol..

庾信平生最萧瑟 233

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

LeetCode1371. Find the Longest Substring Containing Vowels in Even Counts

【代码】LeetCode1371. Find the Longest Substring Containing Vowels in Even Counts。

叶卡捷琳堡的博客 545

leetcode 1371.每个元音包含偶数次的最长子字符串(find the longest substring containing vowels in even counts)C语言

leetcode 1371.每个元音包含偶数次的最长子字符串(find the longest substring containing vowels in even counts)C语言1.description2.solution 1.description 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。 示例 1: 输入:s = “eleetminicoworoep” 输出:13 解释:最长子

hsk6543210的博客 448

1371. Find the Longest Substring Containing Vowels in Even Counts(Leetcode每日一题-2020.05.20)

Problem 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. Example1 Input: s = “eleetminicoworoep” Output: 13 Explanation: T

Bryan要加油 550

【前缀合】【二进制状态】个人练习-Leetcode-1371. Find the Longest Substring Containing Vowels in Even Counts

题目链接:https://leetcode.cn/problems/find-the-longest-substring-containing-vowels-in-even-counts/description/思路:一开始以为是DP,但这样似乎必须要有一个状态来表示是否取某一位。然而发现,即便如此,如果。表示的是最长长度的话,依然没法确定这个最长长度的子串是怎么样的。表示取最后一个,最大长度也是1。表示不取最后一个,最大长度是。题目大意:给一个字符串。

Rstln的博客 245

【前缀和】【位掩码】【奇偶性】【状态压缩】个人练习-Leetcode-1371. Find the Longest Substring Containing Vowels in Even Counts

前缀和,位掩码,状态压缩,奇偶性

Rstln的博客 202

[leetcode日记]1371.每个元音包含偶数次的最长字符串

题目 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。 示例 1: 输入:s = “eleetminicoworoep” 输出:13 解释:最长子字符串是 “leetminicowor” ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。 示例 2: 输入:s = “leetcodeisgreat” 输出:5 解释:最长子字符串是 “leetc” ,其中包含 2 个 e 。 示例 3: 输入

Xixoqw的博客 434

leetcode 1371. 每个元音包含偶数次的最长子字符串 Python

每个元音包含偶数次的最长子字符串 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。 1 <= s.length <= 5 x 10^5 s 只包含小写英文字母。 示例 1: 输入:s = “eleetminicoworoep” 输出:13 解释:最长子字符串是 “leetminicowor” ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。 示例 2: 输入:s = “lee.

ChengSlime的博客 358

leetcode 【 Triangle 】python 实现

题目: Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below. For example, given the following triangle [ [2], [3,4], ...

weixin_33989780的博客 157

【LEETCODE】1371. 每个元音包含偶数次的最长子字符串

题目 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。 思路 如何标识元音所在位置? (1) 前缀和:使用A[i][k]记录元音所在位置,其中i为元音在字符串中的位置,k为元音的标识(即a,e,i,o,u分别对应k=0,1,2,3,4)。 (2)状态压缩: 根据题目要求,不需要知道元音的具体数目,所以可以将前缀和的思路进行简化——使用二进制位运算标识元音的奇偶数。 例如在第i个位置(a,e,i,o,

qq_42199045的博客 308
下一篇: 洛谷 P1896 [SCOI2005]互不侵犯 递推/动归 (可状态压缩)
Ljosalfar
博客等级 码龄9年 0粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值