LeetCode第1371题:每个元音包含偶数次的最长子字符串(中等)
LeetCode第1371题:每个元音包含偶数次的最长子字符串(中等)
- 题目:给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。
- 解题思路:创建一个二维数组,记录每个位置的元音的数量。有一个变量名搞错了,导致改了半天,最终还是超出了时间限制。
class Solution {public int findTheLongestSubstring(String s) {int len = s.length();int[][] time = new int[len+1][5];int ans = 0;for(int i=1;i<len+1;i++){char temp = s.charAt(i-1);switch(temp){case 'a':time[i][0] = time[i-1][0]+1;time[i][1] = time[i-1][1];time[i][2] = time[i-1][2];time[i][3] = time[i-1][3];time[i][4] = time[i-1][4];break;case 'e':time[i][1] = time[i-1][1]+1;time[i][0] = time[i-1][0];time[i][2] = time[i-1][2];time[i][3] = time[i-1][3];time[i][4] = time[i-1][4];break;case 'i':time[i][2] = time[i-1][2]+1;time[i][0] = time[i-1][0];time[i][1] = time[i-1][1];time[i][3] = time[i-1][3];time[i][4] = time[i-1][4];break;case 'o':time[i][3] = time[i-1][3]+1;time[i][0] = time[i-1][0];time[i][1] = time[i-1][1];time[i][2] = time[i-1][2];time[i][4] = time[i-1][4];break;case 'u':time[i][4] = time[i-1][4]+1;time[i][0] = time[i-1][0];time[i][1] = time[i-1][1];time[i][2] = time[i-1][2];time[i][3] = time[i-1][3];break;default:time[i][0] = time[i-1][0];time[i][1] = time[i-1][1];time[i][2] = time[i-1][2];time[i][3] = time[i-1][3];time[i][4] = time[i-1][4];break;}}for(int left=0;left<len+1;left++){for(int right=left+1;right<len+1;right++){int j=0;while(j<5){if((time[right][j]-time[left][j])%2==0){j++;}else{break;}}if(j==5) ans = Math.max(ans,right-left);}}return ans;}
}
- 题解做法:前缀+压缩状态
class Solution {public int findTheLongestSubstring(String s) {int n = s.length();int[] pos = new int[1 << 5];Arrays.fill(pos, -1);int ans = 0, status = 0;pos[0] = 0;for (int i = 0; i < n; i++) {char ch = s.charAt(i);if (ch == 'a') {status ^= (1 << 0);} else if (ch == 'e') {status ^= (1 << 1);} else if (ch == 'i') {status ^= (1 << 2);} else if (ch == 'o') {status ^= (1 << 3);} else if (ch == 'u') {status ^= (1 << 4);}if (pos[status] >= 0) {ans = Math.max(ans, i + 1 - pos[status]);} else {pos[status] = i + 1;}}return ans;}
}作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/find-the-longest-substring-containing-vowels-in-even-counts/solution/mei-ge-yuan-yin-bao-han-ou-shu-ci-de-zui-chang-z-2/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
LeetCode第1371题:每个元音包含偶数次的最长子字符串(中等)相关推荐
- 每个元音包含偶数次的最长子字符串
每个元音包含偶数次的最长子字符串 ❤️ ❤️ 中等 题目介绍 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 'a','e','i','o','u' ,在子字符串中都 ...
- 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.des ...
- leetcode-每日打卡-1371. 每个元音包含偶数次的最长子字符串
1371. 每个元音包含偶数次的最长子字符串 难度:中等 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 'a','e','i','o','u' ,在子字符串中都恰好 ...
- Leetcode--1371. 每个元音包含偶数次的最长子字符串(Java)
给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 'a','e','i','o','u' ,在子字符串中都恰好出现了偶数次. 示例 1: 输入:s = "el ...
- 每个元音包含偶数次的最长子字符串——打死我也想不到的代码
这道题目,官方给出的题解,打死我也想不到.原题目地址 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 'a','e','i','o','u' ,在子字符串中都恰好出现 ...
- LeetCode 1371. 每个元音包含偶数次的最长子字符串
https://leetcode-cn.com/problems/find-the-longest-substring-containing-vowels-in-even-counts/ 这道题一开始 ...
- 1371. 每个元音包含偶数次的最长子字符串
题解:https://leetcode-cn.com/problems/find-the-longest-substring-containing-vowels-in-even-counts/solu ...
- [leetcode]5337. 每个元音包含偶数次的最长子字符串
前缀和,下次记住前缀和,从1开始存,cnt[0] 存0 class Solution {public:int findTheLongestSubstring(string s) {int len = ...
- leetcode: 每个元音包含偶数次的最长字符串(前缀和 + 状态压缩(位运算、hash优化))*
题目:给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 'a','e','i','o','u' ,在子字符串中都恰好出现了偶数次. PS: 1 <= s.leng ...
最新文章
- relative会脱离文档流吗_脱离华为之后,高通伸来援手,荣耀40会搭载骁龙888吗?...
- hello my first blog
- jupyter怎么调字体_夏天冰箱调到几档最好 冷藏调多少度合适
- Unity Inspector 给组件自动关联引用
- Facebook的智能音箱跳,票,了
- 力扣题目——143. 重排链表
- Go操作MySql Memache Mongodb
- AcWing 4. 多重背包问题(多重背包 朴素版)
- SpringBoot配置参数绑定@ConfigurationProperties@Value
- 应用安全-CMF/CMS漏洞整理
- Markdown语法 (中文版)
- 最小二乘法 c 语言程序,最小二乘法的嵌入式C语言实现
- python — 二手房
- App项目实战之路(三):原型篇
- 国际信用卡如何支付(流程演示图)
- oracle ora 3136,一次ORA-3136的处置
- 程序员生涯之我见 找到自己的兴趣所在
- 必应搜索引擎怎么了?
- 苹果电脑查看已经连上的WiFi密码(亲测可用)
- 用户界面测试(来源于百度百科)
热门文章
- 点击按钮背景变灰色,松开恢复原来色
- Typecho 博客主题 Terse
- 临床预测模型评鉴(PMID: 33303841)
- Face Anti-Spoofing FAS 综述
- HTML抓取不到,抓取不到html,curl和file_get_contents都抓不到,但是页面可以直接打开。...
- ARM中汇编程序实例小笔记
- 抖音seo新玩法源码+抖音小程序源码系统如何搭建
- 英语四六级翻译13:丝绸之路
- 钢丝捻线机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- [原创] wildfly 部署应用时出错原因调查