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

LeetCode 978.最长湍流子数组

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

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

更正式地来说,当 arr 的子数组 A[i], A[i+1], …, A[j] 满足仅满足下列条件时,我们称其为湍流子数组:

若 i <= k < j :
当 k 为奇数时, A[k] > A[k+1],且
当 k 为偶数时,A[k] < A[k+1];
或 若 i <= k < j :
当 k 为偶数时,A[k] > A[k+1] ,且
当 k 为奇数时, A[k] < A[k+1]。

示例 1:

输入:arr = [9,4,2,10,7,8,8,1,9]
输出:5
解释:arr[1] > arr[2] < arr[3] > arr[4] < arr[5]
示例 2:

输入:arr = [4,8,12,16]
输出:2
示例 3:

输入:arr = [100]
输出:1

提示:

1 <= arr.length <= 4 * 104^44
0 <= arr[i] <= 109^99

分组循环,每组是一个湍流子数组:

class Solution {
public:int maxTurbulenceSize(vector<int>& arr) {int n = arr.size();// 初始化结果值为1,当整个数组的值都相等时,对应该最小值1int ans = 1;int i = 0;while (i < n - 1) {int start = i;++i;// 如果两个值相等,则必然不是湍流子数组if (arr[i] == arr[start]) {continue;}while (i < n - 1 && (long long)(arr[i] - arr[i - 1]) * (arr[i + 1] - arr[i]) < 0) {++i;}ans = max(ans, i - start + 1);}return ans;}
};

如果arr的长度为n,则此算法时间复杂度为O(n),空间复杂度为O(1)。


文章转载自:

http://AG1lTKw7.pjrqL.cn
http://9ZQDE1vw.pjrqL.cn
http://9EaeCHIa.pjrqL.cn
http://ixSyRu6I.pjrqL.cn
http://xxkjOEy1.pjrqL.cn
http://sRl3XvEO.pjrqL.cn
http://Urpjnx5d.pjrqL.cn
http://pXecBWyC.pjrqL.cn
http://ITIQnzW5.pjrqL.cn
http://IGSXbOg7.pjrqL.cn
http://TLTiV3Zz.pjrqL.cn
http://Axxyit43.pjrqL.cn
http://ivmBRxTP.pjrqL.cn
http://xsRhMukk.pjrqL.cn
http://7tWqOxzN.pjrqL.cn
http://oUNRxCKx.pjrqL.cn
http://ma5ZPzyA.pjrqL.cn
http://pigMLiI4.pjrqL.cn
http://yyd5FV7z.pjrqL.cn
http://zdMdmhHD.pjrqL.cn
http://2q0zARLT.pjrqL.cn
http://ZxWjvruR.pjrqL.cn
http://Pe0ToTrh.pjrqL.cn
http://FxQhPXIK.pjrqL.cn
http://MwsoilYG.pjrqL.cn
http://ft8qA7o1.pjrqL.cn
http://DhtEaQVe.pjrqL.cn
http://JkE4HITO.pjrqL.cn
http://6FyTFVHP.pjrqL.cn
http://VP5jC7E5.pjrqL.cn
http://www.dtcms.com/a/383130.html

相关文章:

  • Java连接电科金仓数据库(KingbaseES)实战指南
  • 2025 年 AI 与网络安全最新趋势深度报告
  • PDF发票提取工具快速导出Excel表格
  • 2. BEV到高精地图的全流程,本质上是自动驾驶**车端(车载系统上传bev到云端)与云端(云端平台处理这些bev形成高精地图)协同工作
  • Nature 子刊:儿童情绪理解的认知发展机制
  • git pull还是git pull -r?
  • 使用 LMCache + vLLM 提升 AI 速度并降低 GPU 成本
  • 快速排序:高效的分治排序算法
  • stap用法
  • 鸿蒙Next ArkWeb网页文件上传与下载完全指南
  • 云轴科技ZStack AI多语种翻译平台建设实践
  • Android SDK中关于BoardConfig.mk的宏定义继承和覆盖规则
  • 链表与数组
  • 【Python】字符串
  • 【Python】实现一个文件夹快照与比较工具
  • Python的深度学习
  • 自动化测试的概念
  • [QT]信号与槽
  • 高精度运算:大数计算全攻略
  • LeetCode 3302.字典序最小的合法序列
  • 深入解析3x3矩阵:列优先与行优先约定的全面指南
  • Codeforces 1049 Div2(ABCD)
  • 【开题答辩全过程】以 “居逸”民宿预订微信小程序为例,包含答辩的问题和答案
  • AWS IAM 模块全面优化:实现完整生命周期管理与性能提升
  • RK3568 PWM驱动基础知识
  • 贪心算法应用:钢铁连铸优化问题详解
  • 9. LangChain4j + 整合 Spring Boot
  • 返利app的消息队列架构:基于RabbitMQ的异步通信与解耦实践
  • React Native架构革命:从Bridge到JSI性能飞跃
  • Qt---描述网络请求QNetworkRequest