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

【LeetCode】【滑动窗口长度不固定】978 最长湍流子数组

1794.【软件认证】最长的指定瑕疵度的元音子串

这个例题,是滑动窗口中长度不定求最大的题目,在看题之前可以先看一下【leetcode每日一题】【滑动窗口长度不固定】案例。

题目描述

定义:开头和结尾都是元音字母aeiouAEIOU)的字符串为 元音字符串 ,其中混杂的非元音字母数量为其 瑕疵度 。比如:

  • “a” 、 “aa”是元音字符串,其瑕疵度都为0
  • “aiur”不是元音字符串(结尾不是元音字符)
  • “abira”是元音字符串,其瑕疵度为2

给定一个字符串,请找出指定瑕疵度的最长元音字符子串,并输出其长度,如果找不到满足条件的元音字符子串,输出0

子串:字符串中任意个连续的字符组成的子序列称为该字符串的子串。

思路

窗口里的瑕疵度的字母含量只能是k,求最大长度,如果大于k缩小窗口,但是如果<k

,因此我们需要判断一下,符合条件的才去更新长度。

以下是一个实现了上述算法的 JavaScript 示例代码:


const getLongestFlawedVowelSubstrLen = (flaw, input) => {let count = 0let res = 0let left = 0let set = new Set(['a','e','i','o','u']);for (let i = 0; i < input.length; i++) {// 向右扩大窗口,维护窗口中的瑕疵度if (!set.has(input[i].toLowerCase())) {count++}// 缩小窗口while (count > flaw) {if (!set.has(input[left].toLowerCase())) {count--;}left++;}// 满足条件的时候,更新结果。if(set.has(input[i].toLowerCase())&&set.has(input[left].toLowerCase())&&count===flaw){res = Math.max(res, i-left+1)}}return res;}

978 最长湍流子数组

给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。

如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是 湍流子数组 。

在这里插入图片描述


/*** @param {number[]} arr* @return {number}*/
var maxTurbulenceSize = function(arr) {let simple = [-2];for (let i = 1; i < arr.length; i++) {if (arr[i] > arr[i - 1]) {simple.push(1);} else if (arr[i] < arr[i - 1]) {simple.push(-1);} else {simple.push(0);}}let left = 0;let max = 1;for(let i = 1; i < simple.length; i++){if(simple[i] != 0 && simple[i] != simple[i-1]){max = Math.max(max, i - left + 1);}else{left++;simple[left] = -2;i = left;}}return max;};
http://www.lryc.cn/news/307187.html

相关文章:

  • 水库安全监测方案(福建地区水库安全监测案例分享)
  • Oracle内存计算应用模式
  • ELK日志系统
  • C++:list容器(非原生指针迭代器的实现)
  • 抖音视频批量下载软件|视频评论采集工具
  • Oracle RMAN 备份恢复
  • 【MySQL】学习和总结联合查询
  • Flink应用场景
  • 产品渲染3D效果图一张多少钱,哪个平台更有性价比?
  • 云原生之容器编排实践-ruoyi-cloud项目部署到K8S:MySQL8
  • go interface{} 和string的转换问题
  • 【Git教程】(三)提交详解 —— add、commit、status、stach命令的说明,提交散列值与历史,多次提交及忽略 ~
  • vue3个人网站电子宠物
  • 2.22 作业
  • office word保存pdf高质量设置
  • 微服务设计模式
  • 10.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-接管游戏发送数据的操作
  • 将SU模型导入ARCGIS,并获取高度信息,多面体转SHP文件(ARCMAP)
  • 【电子通识】为什么单片机芯片上会有多组VDD电源?
  • 跟我学C++中级篇——单实例和静态化
  • 下载 axios.js 文件到本地【linux】
  • 一些matlab的常用用法。在MATLAB中,如何实现数据的导入和导出?
  • 数学建模【插值与拟合】
  • 汽修专用产品---选型介绍 汽修示波器 汽车示波器 汽车电子 汽修波形 汽车传感器波形 汽车检测
  • 如何将简历项目部署到自己的域名下
  • Redisson - 实现Java的Redis分布式和可扩展解决方案
  • 如何利用EXCEL批量插入图片
  • django rest framework 学习笔记-实战商城3
  • WPF真入门教程29--MVVM常用框架之MvvmLight
  • QT-Day4