【刷题笔记】--dp--376. 摆动序列122. 买卖股票的最佳时机 II

news2024/11/16 7:24:54

感觉自己dp还不是很会(/(ㄒoㄒ)/~~

写dp题的步骤:①通过定义子问题,确定dp[ ] or dp[ ][ ] 表示的含义

②写出子问题的递归关系

③确定初始条件

题目:

思路:

①确定dp的含义:dp[i]表示 到i位置,摆动序列的最长子序列的长度。

②现在我们要确定子问题的递归关系:dp[i]与dp[i-1]是什么关系呢?如果nums[i]>nums[i-1],说明nums[i]要加入到以降序为结尾的摆动序列中。如果nums[i]<nums[i-1],说明nums[i]要加入到以升序为结尾的摆动序列中。所以我们要确定dp[i-1]是具体以升序为结尾还是以降序为结尾的摆动序列。

因此,我们重新设置dp数组,用dp[i][0]表示 到i位置,以降序为结尾的摆动序列的最长子序列长度。用dp[i][1]表示 到i位置,以升序为结尾的摆动序列的最长子序列长度。

所以在确定了nums[i]与nums[i-1]的关系后,假如确定了nums[i]>nums[i-1],那么dp[i][1]=dp[i-1][0]+1;dp[i][0]=dp[i-1][0];

如果确定了nums[i]<nums[i-1],那么dp[i][0]=dp[i-1][1]+1;dp[i][1]=dp[i-1][1];

③初始化:dp[0][1]=dp[0][0]=1;

 代码:

class Solution {
    public int wiggleMaxLength(int[] nums) {
        int[][] dp=new int[nums.length+1][2];
        dp[0][1]=dp[0][0]=1;
        for(int i=1;i<nums.length;i++){
            if(nums[i]>nums[i-1]){
                dp[i][1]=dp[i-1][0]+1;
                dp[i][0]=dp[i-1][0];
            }
            else if(nums[i]<nums[i-1]){
                dp[i][0]=dp[i-1][1]+1;
                dp[i][1]=dp[i-1][1];
            }
            else{
                dp[i][0]=dp[i-1][0];
                dp[i][1]=dp[i-1][1];
            }
        }
        return Math.max(dp[nums.length-1][0],dp[nums.length-1][1]);
    }
}

 题目2:

 思路:

①确定dp数组

dp[i][0]表示第 i  天时未持股,获得的最大利润值。

dp[i][1]表示第 i 天时持股,获得的最大利润值。

②确定子问题的递归关系

dp[i][0]=max(dp[i-1][1]+prices[i],dp[i-1][0]);

dp[i][1]=max(dp[i-1][0]-prices[i],dp[i-1][1]);

③初始条件

dp[0][0]=0;

dp[0][1]=-prices[0];

代码:

class Solution {
    public int maxProfit(int[] prices) {
        int[][] dp=new int[prices.length][2];
        dp[0][0]=0;
        dp[0][1]=-prices[0];
        for(int i=1;i<prices.length;i++){
            dp[i][0]=Math.max(dp[i-1][0],dp[i-1][1]+prices[i]);
            dp[i][1]=Math.max(dp[i-1][1],dp[i-1][0]-prices[i]);
        }
        return Math.max(dp[prices.length-1][0],dp[prices.length-1][1]);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/410676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络信息安全(三层设备部署DHCP服务器与DHCP中继、ICMP协议)

文章目录三层路由器部署DHCP服务器配置trunkVLAN创建将端口加入对应vlan路由创建子接口路由器创建地址池服务器配置静态IPDHCP服务器部署创建作用域在三层设备配置DHCP中继DHCP中继原理ICMP协议概述用途封装格式三层路由器部署DHCP服务器 配置trunk VLAN创建 这里以S1为例&…

Vulnhub:Digitalworld.local (Development)靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.130 信息收集 端口扫描 nmap -A -v -sV -T5 -p- --scripthttp-enum 192.168.111.130 查看网站首页源码 访问development目录&#xff0c;提示存在一个流量包 查看流量包发现另一个网站路径&#xff1a;/devel…

多模态之论文笔记ViLT

文章目录ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision一. 简介1.1 摘要1.2 文本编码器&#xff0c;图像编码器&#xff0c;特征交互复杂度分析1.2 特征交互方式分析1.3 图像特征提取分析二. 方法 Vision-and-Language Transformer2.1. 方…

【高危】Apache Linkis JDBC EngineConn 插件<1.3.2 存在反序列化漏洞

漏洞描述 Apache Linkis 是一个用于将上层应用与底层数据引擎解耦&#xff0c;提供标准化接口的中间件。 该项目受影响版本存在反序列化漏洞&#xff0c;由于ConnectionManager.java中未对dbUrl、username、password等参数进行充分过滤&#xff0c;当恶意用户完全控制应用程序…

缘起|蚂蚁应用级服务发现的实践之路

文&#xff5c;肖健&#xff08;花名&#xff1a;昱恒&#xff09;蚂蚁集团技术专家、SOFARegistry Maintainer专注于服务发现领域&#xff0c;目前主要从事蚂蚁注册中心 SOFARegistry 的设计和研发工作。本文 8339 字 阅读 15 分钟PART. 1前言什么是服务发现&#xff1f;我们今…

Python人工智能在气象中的实践技术应用

专题一 Python 和科学计算基础 1.1 Python 入门和安装 1.1.1 Python 背景及其在气象中的应用 1.1.2 Anaconda 解释和安装以及 Jupyter 配置1.1.3 Python 基础语法 1.2 科学数据处理基础库 1.2.1 Numpy 库1.2.2 Pandas 库1.2.3 Scipy 库 1.2.4 Matplotlib 和 Cartopy 库 …

thinkphp6多应用模块配置使用

1.安装thinkphp6 6.0之前安装都是从Git或者直接下载安装包进行安装&#xff0c;从6.0开始安装方式就改成了composer进行安装了&#xff0c;安装命令如下&#xff1a; 稳定版&#xff1a;composer create-project topthink/think tp 开发版&#xff1a;composer create-projec…

SOLIDWORKS官方认证考试

SOLIDWORKS官方认证考试&#xff1a; CSWA认证 CSWP认证 CSWPA认证 CSWE认证 SOLIDWORKS认证考试是达索SOLIDWORKS公司推出的全球性认证考试项目&#xff0c;是作为衡量您所具备的SOLIDWORKS应用专长与能力的一种测试和认可&#xff0c;主要考察对设计、仿真一体化、机电一体…

Hadoop 生态圈及核心组件简介Hadoop|MapRedece|Yarn

文章目录大数据时代HadoopHadoop概述Hadoop特性优点Hadoop国内外应用Hadoop发行版本Hadoop集群整体概述HDFS分布式文件系统传统常见的文件系统数据和元数据HDFS核心属性HDFS简介HDFS shell操作Map Reduce分而治之理解MapReduce思想分布式计算概念MapReduce介绍MapReduce产生背景…

低代码,是稳打稳扎还是饮鸩止渴?

2023年&#xff0c;业内对低代码的发展充满了想象。 人们认为&#xff0c;未来低代码它的商业价值不可估量。 据Gartner的最新报告显示&#xff0c;到2023年&#xff0c;全球低代码开发技术市场规模预计将达到269亿美元&#xff0c;比2022年增长19.6%。 随着数字化进入深水区&a…

数据仓库、数据集市、数据湖,你的企业更适合哪种数据管理架构?

建设企业级数据平台&#xff0c;首先需要了解企业数据&#xff0c;确认管理需求&#xff0c;并选择一个数据管理架构。那么面对纷繁复杂的数据来源&#xff0c;多元化的数据结构&#xff0c;以及他们的管理使用需求&#xff0c;企业数据平台建设该从何处入手呢&#xff1f;哪个…

Zabbit

目录 一、zabbix概述 zabbix是什么 主要特点 运行机制 zabbix监控原理 zabix常见的五个程序 zabbix端口号 架构 二、安装 zabbix 5.0 1、部署zabbix服务端&#xff08;端口号10051&#xff09; 1、关闭防火墙、修改主机名 2、下载zabbix源 3、 更换为阿里源 4、安…

chapter-2数据库基本知识

以下课程来源于MOOC学习—原课程请见&#xff1a;数据库原理与应用 考研复习 前言&#xff1a; 抽象与模型 1.对数据不同抽象层次中的对象采用不同的模型进行描述 人的姓名、性别—>概念模型---->DBMS支持的数据模型---->物理模型 2.概念模型&#xff1a;按用户观…

PHP通过函数来了解字符串格式化的案例和代码

目录 前言 一、字符串空格的删除 1.tri()函数 2.ltrim()函数 3.rtrim()函数 二、字符串大小写转换 1.strtolower()函数 2.strtoupper()函数 三、格式化数字 前言 1.以下介绍PHP的相关知识&#xff1b; 2.本弹窗界面可以根据简单的要求实现一使用功能。同时可以实现自定义…

Kubernetes 部署 StarRocks 集群

文章目录StarRocks简介系统架构图安装部署StarRocks手动部署通过 Docker部署使用 StarGo 部署管理通过 StarRocks Manager部署管理通过 Kubernetes部署工作原理逻辑图部署 StarRocks Operator部署 StarRocks 集群访问 StarRocks 集群集群内访问 StarRocks 集群集群外访问 StarR…

了解高可用

图片来自网络 高可用定义 “高可用性”&#xff08;High Availability&#xff09;通常来描述一个系统经过专门的设计&#xff0c;从而减少停工时间&#xff0c;而保持其服务的高度可用性。 设计系统的可用性&#xff0c;最重要的是满足用户的需求。系统的失败只有当其导致服务…

不完美解决谷歌Chrome在设置background cover和fixed属性后,滚动屏幕出现背景图片的拉伸

业务场景: 让元素有背景图. 背景图不随着页面滚动而移动,相对于浏览器窗口固定. 根据屏幕尺寸,背景图自动覆盖式填充,不能有接缝和重复. 元素要有圆角. 通过js入参动态设置背景图. 不便截图,相信各位上面可以看明白了. 复现: css是这样的 .main {width: 90%;background-…

Chat GPT5的主要介绍

Chat GPT-5是一种基于人工智能技术的对话系统&#xff0c;用于进行自然语言处理和对话&#xff0c;以提供更好的服务。 它是由OpenAI公司开发的&#xff0c;是GPT系列的最新版本。 GPT代表着"生成式预训练"&#xff0c;因此Chat GPT-5基于神经网络&#xff0c;通过预…

STM32F103RCT6 103RE 103R8 103RB 103C8 103CB 103VE 103VC

这些型号均属于意法半导体&#xff08;STMicroelectronics&#xff09;的STM32F103系列微控制器&#xff0c;其特点如下&#xff1a; STM32F103RCT6&#xff1a;512 KB Flash、64 KB RAM&#xff0c;LQFP64封装&#xff1b;STM32F103RE&#xff1a;512 KB Flash、64 KB RAM&am…

webgl-矩阵、旋转、平移、缩放 glMatrix组件

引入新组建glMatrix glMatrix.js /*! fileoverview gl-matrix - High performance matrix and vector operations author Brandon Jones author Colin MacKenzie IV version 3.4.3 Copyright (c) 2015-2021, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted…