leetcode如何实现最长湍流子数组
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要介绍leetcode如何实现最长湍流子数组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、题目内容当 A 的子数组 A[i], A[i+1], ..., A[j]
千家信息网最后更新 2025年01月25日leetcode如何实现最长湍流子数组
这篇文章主要介绍leetcode如何实现最长湍流子数组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、题目内容
当 A 的子数组 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]。
也就是说,如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍流子数组。返回 A 的最大湍流子数组的长度。
示例 1:
输入:[9,4,2,10,7,8,8,1,9]
输出:5
解释:(A[1] > A[2] < A[3] > A[4] < A[5])
示例 2:
输入:[4,8,12,16]
输出:2
示例 3:
输入:[100]
输出:1
提示:
1 <= A.length <= 40000
0 <= A[i] <= 10^9
二、解题思路
奇偶判断,根据题目条件中的前后大小关系写出代码即可。
三、代码
class Solution: def maxTurbulenceSize(self, arr: list) -> int: ans = 0 for i in range(2): count = 0 for j in range(len(arr) - 1): if j % 2 == i: if arr[j] > arr[j + 1]: count += 1 else: count = 0 else: if arr[j] < arr[j + 1]: count += 1 else: count = 0 ans = max(ans, count) return ans + 1if __name__ == '__main__': s = Solution() arr = [0,1,1,0,1,0,1,1,0,0] ans = s.maxTurbulenceSize(arr) print(ans)
以上是"leetcode如何实现最长湍流子数组"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
数组
湍流
内容
示例
输入
输出
最长
代码
条件
篇文章
题目
最大
之间
也就是
也就是说
价值
偶数
元素
兴趣
大小
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全投资机遇
java 数据库设计
厦门35软件开发公司电话
娄底软件开发培训有哪些
网络安全文明教育主题班会
大学生购买服务器的优缺点
数据库没有生僻字
ArcGISGDP数据库
苹果软件开发者在哪里
数据库安全权限
信息化网络安全员培训课件
铜陵电商软件开发公司哪家好
制作服务器宣传
软件开发风险评估报告怎么写
服务器端每个角色使用一个线程
网络安全专业研究生考试科目
三六零网络安全专利数量多少
勇仕网络技术公司
电脑端服务器地址怎么看
软件连接不到数据库
市直单位网络安全工作责任制
二进制文件写入数据库
怎么获取历年房价数据库
诈骗的服务器在外国怎么办
h5小程序软件开发
网易服务器什么时候崩的
守护网络安全构建和谐家园手抄报
网络安全密码法最新消息
湖北服务器虚拟化建设云空间
基于net的软件开发