如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。

例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。

给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序列中删除一些(也可以不删除)元素来获得子序列,剩下的元素保持其原始顺序。

示例 1:

输入: [1,7,4,9,2,5]
输出: 6
解释: 整个序列均为摆动序列。

代码

class Solution {public int wiggleMaxLength(int[] nums) {int n=nums.length;if(n==0) return 0;int len0=1,len1=1;//len0代表上升子序列的最大长度,len1代表下降子序列的长度for(int i=1;i<n;i++){if(nums[i]>nums[i-1])//出现了上升,下降子序列长度加1,并将结果赋值给上升的子序列长度len0=len1+1;else if(nums[i]<nums[i-1])//出现了下降,上升子序列长度加1,并将结果赋值给的下降子序列长度len1=len0+1;}return Math.max(len0,len1);}
}

leetcode 376. 摆动序列(dp)相关推荐

  1. leetcode - 376. 摆动序列

    376. 摆动序列 -------------------------------------------- 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在 ...

  2. LeetCode 376. 摆动序列 中等难度

    376. 摆动序列 题目: 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动序列. 例如: [1,7,4,9 ...

  3. LeetCode 376. 摆动序列(贪心 动态规划)

    文章目录 1. 题目 2. 解题 2.1 贪心 2.2 动态规划 1. 题目 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个 ...

  4. leetcode 376. 摆动序列 思考分析

    目录 题目 思路分析 代码 总结 题目 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动序列. 例如, [1 ...

  5. [leetcode]376. 摆动序列

    原文:https://leetcode-cn.com/problems/wiggle-subsequence/solution/bai-dong-xu-lie-by-leetcode/ 给定一个整数序 ...

  6. Leetcode 376. 摆动序列 解题思路及C++实现

    解题思路: 使用贪心算法的思想. 在例子 [1,17,5,10,13,15,10,5,16,8]中,[1, 17].[17, 5]这前面的两个序列就直接都选择了,没有问题,对于后面[5, 10, 13 ...

  7. 【LeetCode】376. 摆动序列(图解)

    376. 摆动序列 一.问题 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动序列. 例如, [1,7,4, ...

  8. 【LeetCode每日一题】——376.摆动序列

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[解题思路] 七[题目提示] 八[题目进阶] 九[时间频度] 十[代码实现] 十一[提交结果] 一[题目类别 ...

  9. 贪心1|455.分发饼干|376. 摆动序列|53. 最大子序和

    贪心1|455.分发饼干|376. 摆动序列|53. 最大子序和 一.455.分发饼干 题目连接:455. 分发饼干 - 力扣(LeetCode) 思路1:用贪心思想,将饼干数组和胃口数组先排序,然后 ...

最新文章

  1. 生成对抗网络学习笔记4----GAN(Generative Adversarial Nets)的实现
  2. 第八届全国计算机数学学术会议,第一届全国计算机数学学术会议 报告摘要
  3. 零基础自学python看什么书-零基础Python入门看哪本书好?这里有答案
  4. 管道、通道、管程的区别
  5. Boost:清理cleanup测试程序
  6. 前端学习(3058):vue+element今日头条管理-回顾
  7. python自动调整格式_pycharm使用技巧之自动调整代码格式总结
  8. Exchange Server 2016 独立部署/共存部署 (四)—— 配置DAG(上)
  9. MVC HtmlHelper扩展——实现分页功能
  10. 常用youtube快捷键,让看视频学技术起飞
  11. 1.1UiPath下载安装与激活
  12. 健身房健身需要什么装备,五款健身房必备运动耳机分享
  13. python如何返回一个列表_python如何返回元组,列表或字典的?
  14. 使用Quads绘制函数曲线
  15. 使用BL0942 计量芯片获取计量数据
  16. KaTex 数学公式 基础
  17. 数学实验——函数绘图实验
  18. 【springcloud】功能尝试(二)熔断器的三个功能
  19. Python爬虫编程思想(55):Beautiful Soup方法选择器之find_all方法
  20. vscode中搭建Golang开发环境(图文并茂)

热门文章

  1. 2016年全国计算机技术与软件,2016年的上半年的全国计算机技术与软件专业技术资格(水平)考.doc...
  2. 在idea中新建的text文件_开发属于自己的第一款 IDEA 插件!
  3. Jenkins 中定时任务构建
  4. 2018-2019-2 20175328 《Java程序设计》第十一周学习总结
  5. 51nod 1100:斜率最大
  6. iOS: TableView如何刷新指定的cell 或section
  7. 使用jquery解析xml
  8. 用JQuery中的Ajax方法获取web service等后台程序中的方法
  9. 数据挖掘需要学习的内容
  10. 采用多播传送FIX行情数据的推荐方案