摆动序列算法C语言,376 摆动序列 leetcode
如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。
例如, [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
解释: 整个序列均为摆动序列。
示例 2:
输入: [1,17,5,10,13,15,10,5,16,8]
输出: 7
解释: 这个序列包含几个长度为 7 摆动序列,其中一个可为[1,17,10,13,10,16,8]。
示例 3:
输入: [1,2,3,4,5,6,7,8,9]
输出: 2
class Solution {
public:
int wiggleMaxLength(vector& nums) {
if(nums.size()<2)
return nums.size();
int begin=0;
int now=begin;
int up=2;
int down=3;
int max_=1;
for(int i=1;i
{
if(now==0)
{
if(nums[i]>nums[i-1])
{
now=2;
max_++;
}
else if(nums[i]
{
now=3;
max_++;
}
}
else if(now==2)
{
if(nums[i]
{
now=3;
max_++;
}
}
else if(now==3)
{ if(nums[i]>nums[i-1])
{
now=2;
max_++;
}
}
}return max_;
}
};
分析:是极值点就够了,开始时向上向下都是可以。如果向了下(此时做一个标记),那下次只能遇见向上(此数大于前数)才有效,(修改标记),其余的数是当中单调的,不需要管。
本文分享 CSDN - 希境。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
摆动序列算法C语言,376 摆动序列 leetcode相关推荐
- 贪心1|455.分发饼干|376. 摆动序列|53. 最大子序和
贪心1|455.分发饼干|376. 摆动序列|53. 最大子序和 一.455.分发饼干 题目连接:455. 分发饼干 - 力扣(LeetCode) 思路1:用贪心思想,将饼干数组和胃口数组先排序,然后 ...
- 【学习笔记】山东大学生物信息学-05 高通量测序技术介绍 + 06 统计基础与序列算法(原理)
课程地址:山东大学生物信息学 文章目录 五.高通量测序技术介绍(没有干货) 六.统计基础与序列算法(原理) 6.1 贝叶斯公式及其生物学应用 6.2 二元预测的灵敏度和特异度 6.3 基本序列算法 五 ...
- 力扣贪心算法专题(一)455.分发饼干 376. 摆动序列 53. 最大子序和 122.买卖股票的最佳时机II 1005.K次取反后最大化的数组和 思路及C++实现 贪心算法 动态规划
文章目录 贪心算法 455.分发饼干 思路 步骤 代码 376. 摆动序列 贪心算法 思路 分析 代码 动态规划 思路 步骤 代码 53. 最大子序和 暴力解法 双层for循环 贪心算法 思路 分析 ...
- 【LeetCode每日一题】——376.摆动序列
文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[解题思路] 七[题目提示] 八[题目进阶] 九[时间频度] 十[代码实现] 十一[提交结果] 一[题目类别 ...
- LeetCode 376. 摆动序列 中等难度
376. 摆动序列 题目: 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动序列. 例如: [1,7,4,9 ...
- 【LeetCode】376. 摆动序列(图解)
376. 摆动序列 一.问题 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动序列. 例如, [1,7,4, ...
- 376. 摆动序列 golang
376. 摆动序列 求取所有的差值保存起来.然后再判断一正一负的规律是否成立 var flag int func wiggleMaxLength(nums []int) int {if len(num ...
- leetcode - 376. 摆动序列
376. 摆动序列 -------------------------------------------- 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在 ...
- 序列划分c语言,一篇“get”C语言八大排序算法
如果说各种编程语言是程序员的招式,那么数据结构和算法就相当于程序员的内功. 想写出精炼.优秀的代码,不通过不断的锤炼,是很难做到的. 二.八大排序算法 排序算法作为数据结构的重要部分,系统地学习一下是 ...
最新文章
- Fragment之间的通信
- 1086 就不告诉你
- Objective-C学习笔记2013[NSString]字符串[可变字符串中,加用app减用delete]
- 机器学习偏差方差_机器学习101 —偏差方差难题
- windows7黑屏修复_如何在Windows 10更新后修复黑屏
- 调试24L01经验总结
- 微信浏览器下载音频文件php,教你怎么下载公众号里面的音频文件
- android ps icon图标制作,PS设计App图标教程
- Android开发--更换字体
- 腾讯全民wifi linux,Linux下安装MT7601U无线网卡驱动
- php发送gmail,汇总PHPmailer群发Gmail的常见问题
- python对文本文件的读写
- Hadoop3.2.1 【 YARN 】源码分析 : NodeStatusUpdaterImpl概述
- SQL:查找或删除重复行
- 常见数据结构及特点介绍
- ECharts 安装和实现-echarts.min.js
- 【python】【惰性序列】【iterator】
- 电脑网络显示小地球却可以上网修复办法
- 直播与知识变现平台的现状分析和主流产品调研
- python编程题:三次方格式化