leetcode 978. 最长湍流子数组(动态规划)
978. 最长湍流子数组
当 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 的最大湍流子数组的长度。
class Solution {public int maxTurbulenceSize(int[] A) {int n=A.length; if(n<=1) return 1;int[][] dp=new int[n][2];//两行数组,第一行升序,第二行降序int res=1;dp[0][0]=1;dp[0][1]=1;//初始化for(int i=1;i<n;i++){if(A[i]>A[i-1])//当前升序{dp[i][1]=dp[i-1][0]+1;//前i-1个末尾为降序时的结果+当前的dp[i][0]=1;}else if(A[i]<A[i-1]){//降序dp[i][0]=dp[i-1][1]+1;//前i-1个末尾为升序时的结果+当前的dp[i][1]=1;}else{//水平dp[i][0]=1;dp[i][1]=1;}res= Math.max(res, Math.max(dp[i][0],dp[i][1]));//取最大值}return res;}
}
leetcode 978. 最长湍流子数组(动态规划)相关推荐
- leetcode 978. 最长湍流子数组(滑动窗口)
当 A 的子数组 A[i], A[i+1], -, A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 ...
- 力扣978最长湍流子数组——Python解答
我们采用DP解法 up = [1] * len(arr)down = [1] * len(arr)ans = 1for i in range(1, len(arr)):if arr[i] > a ...
- C++描述 LeetCode 978. 最长湍流子数组
C++描述 LeetCode 978. 最长湍流子数组 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一 ...
- LeetCode 978 最长湍流子数组
LeetCode 978 最长湍流子数组 题目链接 当 A 的子数组 A[i], A[i+1], -, A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k ...
- Leetcode 978. 最长湍流子数组
978. 最长湍流子数组 显示英文描述 我的提交返回竞赛 用户通过次数196 用户尝试次数229 通过次数200 提交次数567 题目难度Medium 当 A 的子数组 A[i], A[i+1], . ...
- LeetCode——978. 最长湍流子数组(Longest Turbulent Subarray)——分析及代码(Java)
LeetCode--978. 最长湍流子数组[Longest Turbulent Subarray]--分析及代码[Java] 一.题目 二.分析及代码 1. 动态规划(一维数组) (1)思路 (2) ...
- LeetCode 978. 最长湍流子数组(DP)
1. 题目 当 A 的子数组 A[i], A[i+1], ..., A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k 为奇数时, A[k] > A[ ...
- 【线性 dp】B003_LC_最长湍流子数组(读题 dp / 双指针)
一.Problem 当 A 的子数组 A[i], A[i+1], -, A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k 为奇数时, A[k] > ...
- [Swift]LeetCode978. 最长湍流子数组 | Longest Turbulent Subarray
原文地址:https://www.cnblogs.com/strengthen/p/10294636.html A subarray A[i], A[i+1], ..., A[j] of A is s ...
最新文章
- javamail gmail
- DataBase 之 拉链表结构设计
- Jquery ajax 返回string类型加result.d原因
- mysql一个索引占用G_mysql 索引 使用注意细节
- 在普通Java类里使用spring里注入的service、dao等
- Linux内核探讨-- 第二章
- 紫金计算机网络,南京理工大学紫金学院《计算机网络技术》考试复习试题试题(含答案解析)2...
- Bootstrap3 插件的原理
- docker安装mysql8_Centos7-Docker-安装Mysql8
- 如何最快的获取QQ群所有成员的qq号信息
- Python 函数参数传递的困惑
- 从内容/用户画像到如何做算法研发
- 说不尽的洒脱:不义而富且贵,于我如浮云
- foobar2000 解决dts播放出现粉色噪音及cd文件名乱码
- 2500个常用中文字符 + 130常用中英文字符
- 1699 个词汇 的 计算机英语
- Paragon ntfs2022轻松让mac读写NTFS格式磁盘移动硬盘U盘
- c2s三国志java,c2s三国志1.0.0下载_c2s三国志app下载
- 【图像Restoration】Learning Enriched Features for Real Image Restoration and Enhancement
- 小米手机Android内存管理基本情况介绍