P231. 最长摆动子序列的长度

leetcode 376 lintcode 1164 贪心 动态规划 讨论

温馨提示:您没有权限查看当前视频。 立即购买观看视频

描述

这个题目说的是,对于一个整数序列,如果从左到右序列中元素值的相对大小交替变化,则把这个序列叫做摆动序列。如果一个序列不是摆动序列,那么总是可以通过删掉部分元素,来得到一个摆动子序列。现在给你一个整数序列,你要计算出最长摆动子序列的长度。

注意,单个元素的序列也是摆动序列。

比如说,给你的整数序列是:

1, 4, 2, 8, 0, 2

这个序列是一个摆动序列,直接返回它的长度 6 即可。

如果给你的序列变成:

1, 4, 6, 8, 0, 2

这个序列不是摆动序列,但是删掉 4 和 6 后,可以得到一个最长摆动子序列:

1, 8, 0, 2

因此你要返回的长度就为 4。

关于 AlgoCasts

AlgoCasts 旨在用心做好每一个算法讲解视频。每个视频包含两个部分:题目的剖析讲解以及编码,力求在讲解清楚到位的基础上,尽可能地保持视频精简短小,让大家可以在碎片时间里进行学习,并收获这些算法题背后的思想与乐趣。