当前位置: 首页 > news >正文

376. 摆动序列

376. 摆动序列

  • 原题链接:
  • 完成情况:
  • 解题思路:
  • 参考代码:
    • _376摆动序列
    • _376摆动序列
  • 错误经验吸取

原题链接:

376. 摆动序列

https://leetcode.cn/problems/wiggle-subsequence/description/

完成情况:

在这里插入图片描述

解题思路:

    //就是贪心,上升的时候,选取上升数中的较大值//        下降的时候,选取下降数中的较小值//然后因为是摆荡数列嘛,就是要开局确认一下是先递增,还是先递减

参考代码:

_376摆动序列

package 代码随想录.贪心算法;public class _376摆动序列 {/**** @param nums* @return*/public int wiggleMaxLength(int[] nums) {//就是贪心,上升的时候,选取上升数中的较大值//        下降的时候,选取下降数中的较小值//然后因为是摆荡数列嘛,就是要开局确认一下是先递增,还是先递减if (nums.length <= 1){return nums.length;}
//        //看增减顺序
//        boolean flag = true;    //true增 ,false减//当前差值int curDiff = 0;//上一个差值int prevDiff = 0;
//        int preA = nums[0];
//        int preB = nums[1];
//        if (preB - preA < 0){
//            //先减
//            flag = false;
//        }
//        int maxValue = preB;
//        for (int i=2;i< nums.length;i++){
//            if (flag = )
//
//        }int count = 1;for (int i = 1; i < nums.length; i++){//得到当前差值curDiff = nums[i] - nums[i-1];//如果当前差值和上一个差值为一正一负//等于0的情况表示初始时的preDiffif ((curDiff > 0 && prevDiff <= 0) || (curDiff < 0 && prevDiff >= 0)){count++;prevDiff = curDiff;}}return count;}
}

_376摆动序列

package 代码随想录.动态规划;import java.util.Map;public class _376摆动序列 {/**** @param nums* @return*/public int wiggleMaxLength(int[] nums) {// 0 i 作为波峰的最大长度// 1 i 作为波谷的最大长度int dp[][] = new int[nums.length][2];dp[0][0] = dp[0][1] = 1;for (int i = 0; i < nums.length; i++){//i 自己可以成为波峰或者波谷dp[i][0] = dp[i][1] = 1;for (int j = 0; j < i; j++){if (nums[j] > nums[i]){//i是波谷dp[i][1] = Math.max(dp[i][1], dp[i][0] + 1);}if (nums[j]< nums[i]){//i是波峰dp[i][0] = Math.max(dp[i][0],dp[j][1] + 1);}}}return Math.max(dp[nums.length - 1][0],dp[nums.length-1][1]);}
}

错误经验吸取

相关文章:

376. 摆动序列

376. 摆动序列 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;_376摆动序列_376摆动序列 错误经验吸取 原题链接&#xff1a; 376. 摆动序列 https://leetcode.cn/problems/wiggle-subsequence/description/ 完成情况&#xff1a; 解题…...

现在个人想上架微信小游戏已经这么难了吗...

引言 大家好&#xff0c;最近我突然想起来我还有一款微信小游戏还没有上架&#xff0c;于是捣鼓了一天把游戏完善了一下&#xff0c;然后准备提交审核&#xff0c;却发现异常的艰难... 1.为什么难&#xff1f; 相信大家都大概知道&#xff0c;自从微信平台宣布 9月1日起&…...

C语言数据结构-----二叉树(2)堆的深入理解及应用、链式二叉树的讲解及代码实现

前言 本篇文章讲述的内容有部分是上一节写过的。重复内容不会再进行说明&#xff0c;大家可以看上一节内容 链接: C语言数据结构-----二叉树(1)认识数、二叉树、堆及堆的代码实现 文章目录 前言1.使用堆解决TOP-K问题2.向下调整堆的时间复杂度与向上调整堆的时间复杂度对比3.堆…...

【算法】【动规】等差数列划分

跳转汇总链接 &#x1f449;&#x1f517;算法题汇总链接 1.2 等差数列划分 &#x1f517;题目链接 如果一个数列 至少有三个元素 &#xff0c;并且任意两个相邻元素之差相同&#xff0c;则称该数列为等差数列。例如&#xff0c;[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是…...

系统架构设计师教程(五)软件工程基础知识

软件工程基础知识 5.1 软件工程5.1.1 软件工程定义5.1.2 软件过程模型5.1.3 敏捷模型敏捷开发的特点敏捷方法的核心思想主要敏捷方法简介 5.1.4 统一过程模型 (RUP)RUP的生命周期RUP中的核心概念RUP的特点 5.1.5 软件能力成熟度模型 5.2 需求工程5.2.1 需求获取需求获取的基本步…...

计算机中的文件管理

操作系统对计算机的管理包括两个方面&#xff1a;硬件资源和软件资源。硬件资源的管理包括CPU 的管理、存储器的管理、设备管理等&#xff0c;主要解决硬件资源的有效和合理利用问题。 软件资源包括各种系统程序、各种应用程序、各种用户程序&#xff0c;也包括大量的文档材料、…...

Linux常见排错思路及命令

Linux常见排错思路及命令 一、引言 在Linux系统中&#xff0c;由于其高度可配置和可定制的特性&#xff0c;可能会遇到各种问题。本文将介绍一些常见的排错思路&#xff0c;并提供一些常用的命令&#xff0c;以帮助您快速定位和解决问题。 二、常见排错思路 查看系统日志 …...

【springboot】【easyexcel】excel文件读取

目录 pom.xmlExcelVo逐行读取并处理全部读取并处理向ExcelListener 传参 pom.xml <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version> </dependency>ExcelVo 字段映射…...

【STM32】ADC模数转换器

1 ADC简介 ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁 STM32是数字电路&#xff0c;只有高低电平&#xff0c;没有几V电压的概念&#xff…...

Git篇---第九篇

系列文章目录 文章目录 系列文章目录前言一、使用过git merge和git rebase吗?它们之间有什么区别?二、使用过git cherry-pick,有什么作用?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看…...

Paper Reading: (ACRST) 基于自适应类再平衡自训练的半监督目标检测

目录 简介工作重点方法CropBankFBRAFFRTwo-stage Pseudo-label Filtering 实验与SOTA比较消融实验 简介 题目&#xff1a;《Semi-Supervised Object Detection with Adaptive Class-Rebalancing Self-Training》&#xff0c;AAAI’22&#xff0c; 基于自适应类再平衡自训练的半…...

2023年贺岁电影:一眼多,二眼好多

如果从11月末开始统计&#xff0c;今年贺岁档共有72部贺岁片&#xff0c;平均一天就有2部电影上映&#xff0c;看完总计需要花费7400分钟。 这个数量几乎快赶上2021年到2022年贺岁片的总和。 今年电影市场快速回暖以来&#xff0c;多部爆款作品接力上映&#xff0c;持续刺激市…...

软件测试面试中基础与功能的问题

一、 你们的测试流程是怎么样的&#xff1f; 答&#xff1a;1.项目开始阶段&#xff0c; BA &#xff08;需求分析师&#xff09; 从用户方收集需求并将需求转化为规格说明书&#xff0c;接 下来在 项目组领导 会组织需求评审。 2.需求评审通过后&#xff0c;BA 会组织 项目…...

map|二分查找|离线查询|LeetCode:2736最大和查询

本文涉及的基础知识点 二分查找算法合集 题目 给你两个长度为 n 、下标从 0 开始的整数数组 nums1 和 nums2 &#xff0c;另给你一个下标从 1 开始的二维数组 queries &#xff0c;其中 queries[i] [xi, yi] 。 对于第 i 个查询&#xff0c;在所有满足 nums1[j] > xi 且…...

你知道Java中的BigInteger类和BigDecimal类吗?

BigInteger和BigDecimal&#xff1a; 我们在学习JavaSE基础的时候学习过int和double&#xff0c;前者是整形&#xff0c;后者是双精度浮点数&#xff0c;但它们是有最大值的&#xff0c;也就是说&#xff0c;他两并不支持无限大的数字。 其范围如下所示&#xff1a; 因此对于…...

33.搜索旋转排序数组

​​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;33. 搜索旋转排序数组 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 在二分查找时&#xff0c;分情况讨论即可。通过与第一个元素和最后一个元素的比较来获得 mid 处于第一个序列中还是第…...

【unity】【WebRTC】从0开始创建一个Unity远程媒体流app-设置输入设备

【项目源码】 包括本篇需要的脚本都打包在项目源码中,可以通过下面链接下载: https://download.csdn.net/download/weixin_41697242/88623091 【背景】 目前我们能投射到远端浏览器(或者任何其它Peer)的媒体流只有默认的MainCamera画面,其实我们还可以通过配置输入来传…...

Redis持久化AOF详解

基础面试题 什么是AOF AOF&#xff08;Append-Only File&#xff09;用于将Redis服务器收到的写操作追加到日志文件&#xff0c;通过该机制可以保证服务器重启后依然可以依靠日志文件恢复数据。 它的工作过程大抵分为以下几步&#xff1a; 收到客户端的写入命令(例如SET、DE…...

基于ssm网络安全宣传网站设计论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本网络安全宣传网站就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…...

机器人行业数据闭环实践:从对象存储到 JuiceFS

JuiceFS 社区聚集了来自各行各业的前沿科技用户。本次分享的案例来源于刻行&#xff0c;一家商用服务机器人领域科技企业。 商用服务机器人指的是我们日常生活中常见的清洁机器人、送餐机器人、仓库机器人等。刻行采用 JuiceFS 来弥补对象存储性能不足等问题。 值得一提的是&am…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...