力扣376题,摆动序列)

技术力扣376题,摆动序列) 力扣376题(摆动序列)376、摆动序列
基本思想:
贪心算法
具体实现:
preDiff存放上一次的差值
curDiff存放当前的差值
只要一正一负,执行count +

扣除376题(挥杆顺序)。

376、摆动序列

基本思想:

贪婪算法

具体实现:

PreDiff存储最后一个差异。

CurDiff存储当前差异。

只要一个正一个负,就执行计数。

但是preDiff初始化为0,无论如何,都不会有正负之比。

因此,比较条件为:

if((curdiff 0 prediff=0)| |(curdiff 0 prediff=0))

比较预测时需要等号。

数组的长度是2,

例如,[2,5],摆动序列的最大子序列数应该返回2。

计数被初始化为1。

此时,柯迪夫0预测值=0,

数数,

最后的计数是2。

[4,5,5,4]

返回3,

代码:

解决方案类{

public int WiggleMaxLength(int[]nums){ 0

if(nums==null | | nums . length=1){ 0

返回nums.length

}

//当前差异。

int CodeDiff=0;

//最后一个区别。

int preDiff=0;

int count=1;

for(int I=1;i nums.lengthI){ 0

//获取当前差值。

curDiff=nums[I]-nums[I-1];

//如果当前差值和以前的差值为正和负。

//等于0时,表示开头的preDiff。

if((CodeDiff 0 preDiff=0)| |(CodeDiff 0 preDiff=0)){ 0

计数;

preDiff=curDiff

}

}

返回计数;

}

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/37486.html

(0)

相关推荐

  • C# 反射

    技术C# 反射 C# 反射1、反射获取程序集的三种方式Assembly.Load();//这种方式只需提供程序集的名称
    Assembly.LoadFile(path);//这种方式需要提供程序集完整的路

    礼包 2021年12月14日
  • Android总结

    技术Android总结 Android总结第一章
    一.什么是Android
    安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Googl

    礼包 2021年11月13日
  • Ajax和WebSpherePortal设计有哪些注意事项

    技术Ajax和WebSpherePortal设计有哪些注意事项本篇内容介绍了“Ajax和WebSpherePortal设计有哪些注意事项”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大

    攻略 2021年11月14日
  • 如何理解flink 1.11 中的JDBC Catalog

    技术如何理解flink 1.11 中的JDBC Catalog今天就跟大家聊聊有关如何理解flink 1.11 中的JDBC Catalog,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根

    攻略 2021年11月23日
  • linux进程调度采用的是什么(linux进程调度详解)

    技术linux进程调度源码是什么这篇文章主要讲解了“linux进程调度源码是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux进程调度源码是什么”吧!下面是进程

    攻略 2021年12月17日
  • ibatisresultclass有哪几种类型(ibatis result查询空值怎么处理)

    技术如何进行iBATIS ResultMap基础的浅析本篇文章为大家展示了如何进行iBATIS ResultMap基础的浅析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。iBAT

    攻略 2021年12月19日