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. 最长湍流子数组(动态规划)相关推荐

  1. leetcode 978. 最长湍流子数组(滑动窗口)

    当 A 的子数组 A[i], A[i+1], -, A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 ...

  2. 力扣978最长湍流子数组——Python解答

    我们采用DP解法 up = [1] * len(arr)down = [1] * len(arr)ans = 1for i in range(1, len(arr)):if arr[i] > a ...

  3. C++描述 LeetCode 978. 最长湍流子数组

    C++描述 LeetCode 978. 最长湍流子数组   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一 ...

  4. LeetCode 978 最长湍流子数组

    LeetCode 978 最长湍流子数组 题目链接 当 A 的子数组 A[i], A[i+1], -, A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k ...

  5. Leetcode 978. 最长湍流子数组

    978. 最长湍流子数组 显示英文描述 我的提交返回竞赛 用户通过次数196 用户尝试次数229 通过次数200 提交次数567 题目难度Medium 当 A 的子数组 A[i], A[i+1], . ...

  6. LeetCode——978. 最长湍流子数组(Longest Turbulent Subarray)——分析及代码(Java)

    LeetCode--978. 最长湍流子数组[Longest Turbulent Subarray]--分析及代码[Java] 一.题目 二.分析及代码 1. 动态规划(一维数组) (1)思路 (2) ...

  7. LeetCode 978. 最长湍流子数组(DP)

    1. 题目 当 A 的子数组 A[i], A[i+1], ..., A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k 为奇数时, A[k] > A[ ...

  8. 【线性 dp】B003_LC_最长湍流子数组(读题 dp / 双指针)

    一.Problem 当 A 的子数组 A[i], A[i+1], -, A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k 为奇数时, A[k] > ...

  9. [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 ...

最新文章

  1. javamail gmail
  2. DataBase 之 拉链表结构设计
  3. Jquery ajax 返回string类型加result.d原因
  4. mysql一个索引占用G_mysql 索引 使用注意细节
  5. 在普通Java类里使用spring里注入的service、dao等
  6. Linux内核探讨-- 第二章
  7. 紫金计算机网络,南京理工大学紫金学院《计算机网络技术》考试复习试题试题(含答案解析)2...
  8. Bootstrap3 插件的原理
  9. docker安装mysql8_Centos7-Docker-安装Mysql8
  10. 如何最快的获取QQ群所有成员的qq号信息
  11. Python 函数参数传递的困惑
  12. 从内容/用户画像到如何做算法研发
  13. 说不尽的洒脱:不义而富且贵,于我如浮云
  14. foobar2000 解决dts播放出现粉色噪音及cd文件名乱码
  15. 2500个常用中文字符 + 130常用中英文字符
  16. 1699 个词汇 的 计算机英语
  17. Paragon ntfs2022轻松让mac读写NTFS格式磁盘移动硬盘U盘
  18. c2s三国志java,c2s三国志1.0.0下载_c2s三国志app下载
  19. 【图像Restoration】Learning Enriched Features for Real Image Restoration and Enhancement
  20. 小米手机Android内存管理基本情况介绍

热门文章

  1. Makefile(一)
  2. /proc 虚拟文件系统(实例)
  3. 美团安卓面试,难道Android真的凉了?快来收藏!
  4. spring的几个通知(前置、后置、环绕、异常、最终)
  5. is 和 == 的区别
  6. 几种机器学习算法的优缺点
  7. AC日记——Periodic RMQ Problem codeforces 803G
  8. 使用uicollectionView时需要注意的问题
  9. Android开发删除短信
  10. synchronized 和Lock区别