利用贪心思想,每次都得到到当前数最长的长度,和与当前数链接的前一个数之间差的符号

 class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
if(nums.size()<=)return nums.size();
vector<int>temp(nums.size(),);
vector<int>flag(nums.size(),);
for(int i=;i<nums.size();i++){
int max;
for(int j=;j<i;j++) {
if(j==){
flag[i]=(nums[i]-nums[])>?:-;
max=;
continue;
}
if(nums[i]-nums[j]>&&flag[j]<&&max<temp[j]+) {
flag[i]=;
max=temp[j]+;
}
if(nums[i]-nums[j]<&&flag[j]>&&max<temp[j]+) {
flag[i]=-;
max=temp[j]+;
}
}
temp[i]=max;
}
int ok=;
for(int i=;i<nums.size();i++)
if(ok<temp[i])
ok=temp[i];
return ok;
}
};

leetcode 376的更多相关文章

  1. LeetCode——376.摆动序列

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

  2. Java实现 LeetCode 376 摆动序列

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

  3. Leetcode 376. Wiggle Subsequence

    本题要求在O(n)时间内求解.用delta储存相邻两个数的差,如果相邻的两个delta不同负号,那么说明子序列摇摆了一次.参看下图的nums的plot.这个例子的答案是7.平的线段部分我们支取最左边的 ...

  4. LeetCode 376. Wiggle Subsequence 摆动子序列

    原题 A sequence of numbers is called a wiggle sequence if the differences between successive numbers s ...

  5. [Leetcode 376]摇摆序列 Wiggle Subsequence

    [题目] A sequence of numbers is called a wiggle sequence if the differences between successive numbers ...

  6. Leetcode 376.摆动序列

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

  7. leetcode & lintcode for bug-free

    刷题备忘录,for bug-free leetcode 396. Rotate Function 题意: Given an array of integers A and let n to be it ...

  8. leetcode & lintcode 题解

    刷题备忘录,for bug-free 招行面试题--求无序数组最长连续序列的长度,这里连续指的是值连续--间隔为1,并不是数值的位置连续 问题: 给出一个未排序的整数数组,找出最长的连续元素序列的长度 ...

  9. leetcode算法总结

    算法思想 二分查找 贪心思想 双指针 排序 快速选择 堆排序 桶排序 搜索 BFS DFS Backtracking 分治 动态规划 分割整数 矩阵路径 斐波那契数列 最长递增子序列 最长公共子系列 ...

随机推荐

  1. iis的网站发布

    1.打开IIS服务器,添加“新网站”,命名网站的名称.物理路径(存放index.aspx的文件路径).ip地址和端口:2.在已经添加的网站,启用“目录浏览”,“默认文档”设置将要打开的网页 注:(1) ...

  2. jenkins+phantomjs环境搭建及使用

    #jenkins+phantomjs 前端性能自动化测试的安装和使用#gcc GNU编译器套件 https://gcc.gnu.org/ #nginx 高性能的HTTP和反向代理服务器 http:// ...

  3. Git服务器和Git权限管理应用GITLAB安装方法

    首先声明,本文使用的服务器是Centos 6.5,在其他版本的LINUX上运行不保证也是一样的效果. 顺便说下 来波点赞 来波收藏和推荐  有什么问题 我会一直关注评论的 想放一张最终图吧 其中主要涉 ...

  4. COGS 788. 昵称

    788. 昵称 ★☆   输入文件:nickname.in   输出文件:nickname.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] ZSUQ送信者与腾讯QQ相似 ...

  5. Could not load OpenSSL解决

    问题 Could not load OpenSSL. You must recompile Ruby with OpenSSL support or change the sources in you ...

  6. MINST手写数字识别(二)—— 卷积神经网络(CNN)

    今天我们的主角是keras,其简洁性和易用性简直出乎David 9我的预期.大家都知道keras是在TensorFlow上又包装了一层,向简洁易用的深度学习又迈出了坚实的一步. 所以,今天就来带大家写 ...

  7. Robotium实践之路基于APK创建测试项目

    1.重新对包进行签名操作 .启动re-sign.jar文件 .找到相应的APK,拖拽置resigner中 2.创建基于APK测试的测试工程 .新建一个安卓测试项目 .选择this project

  8. 来自-小坦克:Fiddler教程

    Fiddler 教程 阅读目录 Fiddler的基本介绍 Fiddler的工作原理 同类的其它工具 Fiddler如何捕获Firefox的会话 Fiddler如何捕获HTTPS会话 Fiddler的基 ...

  9. 使用Microsoft Hadoop(一)

    To run this program, stage some data in HDFS: 1. create a text file called input.txt that has one in ...

  10. bcdboot应用

    1.下个win8 的pe,功能齐全的.2.CMD执行命令 bcdboot c:\windows /s x: /f all c代表c盘即win所在分区盘符.s,命令参数,引导另存到其他地方.x,某储存引 ...