当前位置: 首页 > news >正文

[100天算法】-每个元音包含偶数次的最长子字符串(day 53)

题目描述

给你一个字符串 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:输入:s = "bcbcbc"
输出:6
解释:这个示例中,字符串 "bcbcbc" 本身就是最长的,因为所有的元音 a,e,i,o,u 都出现了 0 次。提示:1 <= s.length <= 5 x 10^5
s 只包含小写英文字母。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-the-longest-substring-containing-vowels-in-even-counts
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路

复杂度分析

  • 时间复杂度:
  • 空间复杂度:

代码

JavaScript Code

/*** @param {string} s* @return {number}*/
var findTheLongestSubstring = function (s) {const map = {'00000': -1,};const cnt = {a: 0,e: 0,i: 0,o: 0,u: 0,};const vowels = Object.keys(cnt);let res = 0;for (let i = 0; i < s.length; i++) {s[i] in cnt && cnt[s[i]]++;let temp = '';for (let v of vowels) {temp += (cnt[v] % 2) + '';}if (temp in map) {res = Math.max(res, i - map[temp]);} else {map[temp] = i;}}return res;
};
http://www.lryc.cn/news/217268.html

相关文章:

  • 从科幻走向现实,LLM Agent 做到哪一步了?
  • [笔记] 数据类型
  • QT学习之QT概述
  • 编写shell脚本,利用mysqldump实现MySQL数据库分库分表备份
  • 本地部署Jellyfin影音服务器并实现远程访问影音库
  • 【数据结构】希尔排序
  • 使用VBA打印PDF文件
  • 分布式ID系统设计(2)
  • http和https的区别,以及https涉及到的加密过程
  • 使用php打印时间精确到毫秒及毫秒转成11位时间戳
  • uni-app离线打包在android studio创建的.jks证书,签名文件获取MD5问题
  • 333333333333
  • Python:字符串格式化
  • 虹科示波器 | 汽车免拆检修 | 2010款江铃陆风X8车发动机怠速抖动、加速无力
  • 左和右,激进与保守,都是相对概念,但是都会滑向同一种
  • js中的遍历
  • Python算法——快速排序
  • 操作系统备考学习 day12 (第五章)
  • Elasticsearch删除映射类型
  • 网络工程师进阶课:华为HCIP认证课程介绍
  • 单行自动横向滚动——css实现
  • 多线程基础
  • 贝锐向日葵亮相阿里云“云栖大会”:独创专利算法赋能全新云桌面
  • QT在线安装5.15之前的版本(下载速度飞快)
  • 零日漏洞预防
  • 企业内部外网向内网传输文件如何实现高效安全?
  • C++--二叉搜索树初阶
  • Type List(C++ 模板元编程)
  • 使用老北鼻CharGPT对话查询 Qt/C++ 使用gumbo-parse解析加载的html全过程
  • ​ iOS App Store上传项目报错 缺少隐私政策网址(URL)解决方法