首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

摆动序列

1 题目描述 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。...给你一个整数数组 nums ,返回 nums 中作为 摆动序列 的 最长子序列的长度 。...摆动序列 本题要求通过从原始序列中删除一些(也可以不删除)元素来获得子序列,剩下的元素保持其原始顺序。 相信这么一说吓退不少同学,这要求最大摆动序列又可以修改数组,这得如何修改呢?...来分析一下,要求删除元素使其达到最大摆动序列,应该删除什么元素呢?...整体最优:整个序列有最多的局部峰值,从而达到最长摆动序列。 局部最优推出全局最优,并举不出反例,那么试试贪心!

26330

摆动序列,也能贪心

摆动序列 力扣题目链接:https://leetcode-cn.com/problems/wiggle-subsequence 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。...少于两个元素的序列也是摆动序列。 例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。...示例 1: 输入: [1,7,4,9,2,5] 输出: 6 解释: 整个序列均为摆动序列。...相信这么一说吓退不少同学,这要求最大摆动序列又可以修改数组,这得如何修改呢? 来分析一下,要求删除元素使其达到最大摆动序列,应该删除什么元素呢?...设dp状态dp[i][0],表示考虑前i个数,第i个数作为山峰的摆动子序列的最长长度 设dp状态dp[i][1],表示考虑前i个数,第i个数作为山谷的摆动子序列的最长长度 则转移方程为: dp[i][0

57210
您找到你想要的搜索结果了吗?
是的
没有找到

贪心算法:摆动序列

摆动序列 题目链接:https://leetcode-cn.com/problems/wiggle-subsequence/ 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。...少于两个元素的序列也是摆动序列。 例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。...示例 1: 输入: [1,7,4,9,2,5] 输出: 6 解释: 整个序列均为摆动序列。...相信这么一说吓退不少同学,这要求最大摆动序列又可以修改数组,这得如何修改呢? 来分析一下,要求删除元素使其达到最大摆动序列,应该删除什么元素呢? 用示例二来举例,如图所示: ?...376.摆动序列 「局部最优:删除单调坡度上的节点(不包括单调坡度两端的节点),那么这个坡度就可以有两个局部峰值」。 「整体最优:整个序列有最多的局部峰值,从而达到最长摆动序列」。

75620

摆动序列(贪心 & 动态规划)

题目 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。...例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。...给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序列中删除一些(也可以不删除)元素来获得子序列,剩下的元素保持其原始顺序。...示例 1: 输入: [1,7,4,9,2,5] 输出: 6 解释: 整个序列均为摆动序列。...2.2 动态规划 up表示到当前数为止是上升的摆动数列长度; down表示到当前数为止是下降的摆动数列长度; if(nums[i] > nums[i-1]) up = down+1; else if

1.1K10

每日算法系列【LeetCode 376】摆动序列

题目描述 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。...例如, [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 解释: 整个序列均为摆动序列。

40010

leetcode每日一题:376.摆动

:最长的摆动子序列长度,子序列即要求保证数值的相对位置,摆动序列的定义:差值呈现正负交替的情况 难度:中等 标签:贪心、动态规划 注意: 长度小于 2 的时候,也是摆动序列 最好能用 O(N) 的时间复杂度解决...,并且保证这些摆动子序列连接后仍然是摆动序列,就能得到最长的摆动序列。...因为从上面我们的解法可以看出来,我们的序列其实是增、减序列的组合,当有连续增或减时,当再次出来反向序列,这个反向序列一定可以连接前面的摆动序列并组成新的摆动序列。...+m+n] 又是一个摆动序列。...从前面的假设我们可以知道这个序列满足: # 因为 [j, j+m] 单调递减,而 [i, j] 是摆动序列 # 即从 j+1 开始由于单调减,导致不能继续组合成摆动序列 # 因此摆动序列最后两个元素满足

38120

Android开发笔记(十六)秋千摇摆动画SwingAnimation

如果我们把钟摆或者秋千想象成一个线段,这个线段以上面的端点为圆心,先从垂直向下的角度向左旋转;转到一定角度,再向右旋转,同样旋转摆到左边的高度;接着再向左旋转,等到这个线段摆到垂直向下时,就完成了摇摆动作的一个循环...这么看,摇摆动画似乎与旋转动画有些关联,再仔细想想,这摇摆动画其实就是由三段旋转动画衔接起来的呀,先是向左旋转60度,然后向右旋转120度,最后向左旋转60度。...由此看来,摇摆动画有几个地方需要加以调整: 1、旋转动画初始化时只有两个度数:起始度数、终止度数。摇摆动画则需三个参数:中间度数(既是起始度数也是终止度数)、摆到左侧的度数、摆到右侧的度数。...2、根据插值时间估算当前所处的度数,摇摆动画需要做三个分支判断(对应之前说的摇摆动画由三段旋转动画衔接而成)。...点击下载本文用到的秋千摇摆动画代码 点此查看Android开发笔记的完整目录

96740

情人节脱单必备,程序员如何花式表白

,Maybe) jQuery+HTML5烂漫爱心表白动画 jQuery+HTML5烂漫爱心表白动画是一款jQuery HTML5 Canvas电子版的爱心表白动画,非常具有创意,同时整体的效果也相当的不错...源码地址: https://www.linuxidc.com/yanshi/2018/02/qrj/rose/index.html jQuery+HTML5实现唯美表白动画代码 这是一个很小的jQuery...可以用来庆祝相恋的周年纪念日,相信会不少女孩子会被里面真诚的话语给打动 源码地址: https://www.linuxidc.com/yanshi/2018/02/qrj/biaobai/index.html jQuery...+CSS3情人节爱心特效 这是一款基于jQuery+CSS3实现的情人节悬挂摆动爱心特效,画面中心的心型图案呈现出时钟摆动的动画效果,周围的图案与背景也会有很小的心形动画浮动显示与隐藏的视觉效果,十分的唯美

3.6K30
领券