代码随想录算法训练营第五十一天|121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

代码随想录算法训练营第五十一天

121. 买卖股票的最佳时机

题目链接:121. 买卖股票的最佳时机

  1. 确定dp数组以及下标的含义:dp[i][0]:第i天不持有股票的最大利润,dp[i][1]:第i天持有股票的最大利润
  2. 确定递推公式:
    1. 第i天不持有有2种情况:前一天持有,当天卖出不持有;前一天不持有,当天也不持有。所以dp[i][0] = max(dp[i-1][1]+prices[i],dp[i-1][0])
    2. 第i天持有也有两种情况:前一天持有当天继续持有;前一天不持有,当天买入。所以dp[i][1] = max(dp[i-1][1],-prices[i])。(只买卖一次)
  3. dp数组如何初始化:第一天不持有就是dp[0][0] = 0;第一天持有就是第一天买入dp[0][1] = -prices[0]
  4. 确定遍历顺序:从前向后遍历。
  5. 打印dp数组。
class Solution {
public:int maxProfit(vector<int>& prices) {vector<vector<int>>dp(prices.size(),vector<int>(2,0));dp[0][0] = 0;dp[0][1] = -prices[0];for(int i = 1;i<prices.size();i++){dp[i][0] = max(dp[i-1][0],dp[i-1][1]+prices[i]);dp[i][1] = max(dp[i-1][1],-prices[i]);}return dp[prices.size()-1][0];}
};

122.买卖股票的最佳时机II

题目链接:122.买卖股票的最佳时机II

  1. 确定dp数组以及下标的含义:dp[i][0]:第i天不持有股票的最大利润,dp[i][1]:第i天持有股票的最大利润
  2. 确定递推公式:
    1. 第i天不持有有2种情况:前一天持有,当天卖出不持有;前一天不持有,当天也不持有。所以dp[i][0] = max(dp[i-1][1]+prices[i],dp[i-1][0])
    2. 第i天持有也有两种情况:前一天持有当天继续持有;前一天不持有,当天买入。所以dp[i][1] = max(dp[i-1][1],dp[i-1][0]-prices[i])。
  3. dp数组如何初始化:第一天不持有就是dp[0][0] = 0;第一天持有就是第一天买入dp[0][1] = -prices[0]
  4. 确定遍历顺序:从前向后遍历。
  5. 打印dp数组。
class Solution {
public:int maxProfit(vector<int>& prices) {vector<vector<int>>dp(prices.size(),vector<int>(2,0));dp[0][0] = 0;dp[0][1] = -prices[0];for(int i = 1;i <prices.size();i++){dp[i][0] = max(dp[i-1][0],dp[i-1][1]+prices[i]);dp[i][1] = max(dp[i-1][0]-prices[i],dp[i-1][1]);}return dp[prices.size()-1][0];}
};

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

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

相关文章

【Java毕业设计】基于JSP+SSM的物流管理系统

文章目录 目 录摘要ABSTRACT1 概述1.1 课题背景及意义1.2 国内外研究现状1.3 本课题主要工作 2 系统开发环境2.1 JSP技术2.2 JavaScript2.3 B/S结构2.4 HTML简介 3 系统分析3.1 可行性分析3.1.1 技术可行性3.1.2操作可行性3.1.3 经济可行性3.1.4 法律可行性 3.2系统流程设计3.2…

QuanTA: 一种新的高秩高效微调范式

QuanTA方法的核心是利用张量操作来模拟量子电路中的门操作。这些张量被设计为仅在特定的轴上应用&#xff0c;类似于量子电路中的单量子比特或双量子比特门。通过这种方式&#xff0c;QuanTA能够以高秩参数化来适应LLMs的权重矩阵。 网址&#xff1a;QuanTA: 一种新的高秩高效微…

Python文档生成工具库之alabaster使用详解

概要 在编写文档时,美观和易读性是两个重要的方面。Sphinx 是一个广泛使用的文档生成工具,而 Alabaster 是 Sphinx 默认的主题。alabaster 主题以其简洁优雅的设计和易用的配置选项受到广大用户的欢迎。本文将详细介绍 alabaster 库,包括其安装方法、主要特性、基本和高级功…

Go实战 | 使用Go-Fiber采用分层架构搭建一个简单的Web服务

前言 &#x1f4e2;博客主页&#xff1a;程序源⠀-CSDN博客 &#x1f4e2;欢迎点赞&#x1f44d;收藏⭐留言&#x1f4dd;如有错误敬请指正&#xff01; 一、环境准备、示例介绍 Go语言安装&#xff0c;GoLand编辑器 这个示例实现了一个简单的待办事项&#xff08;todo&#xf…

halo进阶-主题插件使用

开始捣鼓捣鼓halo&#xff0c;换换主题&#xff0c;加个页面 可参考&#xff1a;Halo 文档 安装/更新主题 主题如同壁纸&#xff0c;萝卜青菜各有所爱&#xff0c;大家按需更换即可&#xff1b; Halo好在一键更换主题&#xff0c;炒鸡方便。 安装/更新插件 此插件还扩展了插件…

【数据结构】C语言实现二叉树的基本操作——二叉树的遍历(先序遍历、中序遍历、后序遍历)

C语言实现二叉树的基本操作 导读一、二叉树的遍历二、先序遍历三、中序遍历四、后序遍历五、结点序列六、递归算法与非递归算法的转化结语 导读 大家好&#xff0c;很高兴又和大家见面啦&#xff01;&#xff01;&#xff01; 通过前面的介绍&#xff0c;我们已经认识了二叉树…

1.6T模块与DSP技术的演进

近日&#xff0c;光通信行业市场机构LightCounting在市场报告中指出&#xff0c;去年的模块供应商已经展示了首批1.6T光学模块的风采&#xff0c;而今年&#xff0c;DSP供应商更是着眼于第二代1.6T模块设计的未来。这些前沿技术的突破&#xff0c;不仅代表了数据传输速度的飞跃…

三十九、openlayers官网示例Extent Interaction解析——在地图上绘制范围并获取数据

官网demo 地址&#xff1a; Extent Interaction 在openlayers中可以使用ExtentInteraction添加交互事件&#xff0c;配合shiftKeyOnly实现按住shift键绘制边界区域。 const map new Map({layers: [new TileLayer({source: new OSM(),}),],target: "map",view: new …

开源!过程控制与自动化系统

软件介绍 ProviewR是一个基于GPL许可的过程控制与自动化系统&#xff0c;最初由瑞典的Mandator和SSAB Oxelsund开发。作为一个成熟、集成且低成本的自动化解决方案&#xff0c;ProviewR在以Linux作为操作系统的标准PC上运行。该系统包含了顺序控制、调整、数据采集、通信、监控…

leetcode解题思路分析(一百五十九)1380 - 1386 题

矩阵中的幸运数 给你一个 m * n 的矩阵&#xff0c;矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。 幸运数 是指矩阵中满足同时下列两个条件的元素&#xff1a; 在同一行的所有元素中最小 在同一列的所有元素中最大 遍历查找并且保存即可&#xff0c;但是…

AI大模型语料库

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 语料库概述 语料库&#xff08;Corpus&#xff09;是一个存储了大量真实语言使用实例的集合&#xff0c;这些实例可以是文本、语音、视频等多种形式的语言数据。语料库通常…

ESP32 Error creating RestrictedPinnedToCore

随缘记&#xff0c;刚遇到&#xff0c;等以后就可能不想来写笔记了。 目前要使用到音频数据&#xff0c;所以去用ESP-ADF&#xff0c;但在使用例程上出现了这个API有问题&#xff0c;要去打补丁。 但是我打补丁的时候git bash里显示not apply&#xff0c;不能打上。 网上看到…

物联网开发tcp协议之——netty拆包问题

1.前言 tcp协议是物联网开发中比较常见的一种通信协议&#xff0c;而netty则是一tcp通信协议中一个比较优秀的框架。tcp协议是一种长连接的协议&#xff0c;是流式传输的&#xff0c;开发过程中最长遇见的问题就是拆包粘包问题。我目前对接过的物联网系列有智能家居设备&#…

神奇的python语法

今天发现一个神奇的语法规则 import numpy as np aa np.zeros((4,3)) print(aa) print(aa .shape[0] * aa. shape[1])结果是不报错的 结果是正常运行的 包括在jupyter里面&#xff0c;这种写法还是没有报错

氧兜:新一代隔热防晒膜,打造您的健康氧吧,开启品质生活新篇章

随着人们对生活品质追求的不断提升&#xff0c;氧兜品牌凭借创新科技&#xff0c;为您带来了新一代隔热防晒膜。它不仅具备卓越的隔热防晒功能&#xff0c;更能通过释放负氧离子&#xff0c;为您打造一个居家办公或出行环境的氧吧&#xff0c;让您的生活更加健康、舒适。 一、…

Linux开发:多进程通过shm_open/mmap共享内存

Linux编程:多进程间通过shmget共享内存_检测共享内存中 是否有数据-CSDN博客 介绍了通过SYS V的方式进行多进程间共享内存,这种方式属于比较久远的方式。 POSIX也提供了共享内存的方法,使用起来要更容易些式 其原理是利用Linux的tmpfs(Linux开发:tmpfs文件系统-CSDN博客)…

三十四篇:办公效率革命:深入探索办公自动化系统的全面策略

办公效率革命&#xff1a;深入探索办公自动化系统的全面策略 1. 引言 1.1 办公自动化系统&#xff08;OAS&#xff09;的定义与关键作用 在当前的企业环境中&#xff0c;办公自动化系统&#xff08;Office Automation System, OAS&#xff09;已成为提高效率和执行力的关键技…

全面守护你的健康ZL-0891A小动物多参数监护仪

简单介绍&#xff1a; 12.1英寸彩色TFT显示&#xff0c;分辨率800X600,采用数字血氧DSP算法&#xff0c;低灌注&#xff0c;小动物多参数监护仪具有优良的抗运动性能;动物用血压算法&#xff0c;支持测量各种动物类型,特有的中英文语音报警;支持USB数据导出&#xff0c;可以在…

Ubuntu部署开源网关Apache APISIX

说明 系统&#xff1a;Ubuntu 24.04 LTSDocker版本&#xff1a;v26.1.3Docker Compose版本&#xff1a;v2.26.1 下载和配置 Ubuntu需要安装Docker和Docker Compose 下载apisix-docker仓库 git clone https://github.com/apache/apisix-docker.git修改docker-compose 配置e…

C语言小例程8/100

题目&#xff1a;输出特殊图案&#xff0c;请在c环境中运行&#xff0c;看一看 程序分析&#xff1a;字符共有256个。不同字符&#xff0c;图形不一样。 #include<stdio.h> int main() {char a176,b219;printf("%c%c%c%c%c\n",b,a,a,a,b);printf("%c%c%c…