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

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

  • 原题链接:
  • 完成情况:
  • 参考代码:
    • _122买卖股票的最佳时机II_可以多次买入卖出01
    • _122买卖股票的最佳时机II_可以多次买入卖出02
    • _122买卖股票的最佳时机II_常规dp
    • _122买卖股票的最佳时机II_一维dp
    • _122买卖股票的最佳时机II_滚动数组
  • 错误经验吸取

原题链接:

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

https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/

完成情况:

在这里插入图片描述

参考代码:

_122买卖股票的最佳时机II_可以多次买入卖出01

package 代码随想录.动态规划;public class _122买卖股票的最佳时机II_可以多次买入卖出01 {public int maxProfit(int[] prices) {//贪心递推过去int len = prices.length;if (len < 2){return 0;}int res = 0;for (int i = 1; i < len; i++){int difference = prices[i] - prices[i - 1];//只要能赚就进货,//你也可以先购买,然后在 同一天 出售。if (difference > 0){res += difference;}}return res;}
}

_122买卖股票的最佳时机II_可以多次买入卖出02

package 代码随想录.动态规划;public class _122买卖股票的最佳时机II_可以多次买入卖出02{public int maxProfit(int[] prices) {//贪心递推过去int len = prices.length;if (len < 2){return 0;}int res = 0;for (int i = 1; i < len; i++){res += Math.max(prices[i] - prices[i-1],0);}return res;}}

_122买卖股票的最佳时机II_常规dp

package 代码随想录.动态规划;public class _122买卖股票的最佳时机II_常规dp {/**** @param prices* @return*/public int maxProfit(int[] prices) {int len = prices.length;if (len < 2){return 0;}//0:持有现金//1:持有股票//状态转移 0-> 1-> 0 -> 1-> 0 -> 1-> 0int dp [][] = new int[len][2];dp[0][0] = 0;dp[0][1] = -prices[0];//递推数组for (int i = 1; i < len; i++){//给dp每一组的两个变量赋值进去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 dp[len - 1][0];}
}

_122买卖股票的最佳时机II_一维dp

package 代码随想录.动态规划;public class _122买卖股票的最佳时机II_一维dp {/**** @param prices* @return*/public int maxProfit(int[] prices) {int len = prices.length;if(len < 2) return 0;//cash: 现金//hold: 持有股票//状态数组//状态转移:int [] cash = new int[len];int [] hold = new int[len];cash[0] =0;hold[0] = -prices[0];for (int i = 1;i<len;i++){//这两行调换顺序也是可以的cash[i] = Math.max(cash[i-1],hold[i-1] + prices[i]);hold[i] = Math.max(hold[i-1],cash[i-1] - prices[i]);}return cash[len- 1 ];}
}

_122买卖股票的最佳时机II_滚动数组

package 代码随想录.动态规划;public class _122买卖股票的最佳时机II_滚动数组 {/**** @param prices* @return*/public int maxProfit(int[] prices) {int len = prices.length;if (len < 2) return 0;int cash = 0;int hold = -prices[0];int preCash = cash;int preHold = hold;for (int i = 1; i < len; i++) {cash = Math.max(preCash,preHold + prices[i]);hold = Math.max(preHold,preCash - prices[i]);preCash = cash;preHold = hold;}return cash;}
}

错误经验吸取

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

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

相关文章

leetcode(动态规划)53.最大子数组和(C++详细解释)DAY12

文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 示例 提示 2.解答思…

【阅读笔记】红外探测器盲元国标标准及盲元识别

1、盲元定义 盲元的定义&#xff1a;盲元是红外焦平面探测器中响应过高或过低的探测单元&#xff0c;即无法准确成像的像元。盲元主要分为噪声盲元和响应率差异盲元两大类。 线阵红外探测器应用中&#xff0c;经常存在相邻的像元之间响应率有明显差异&#xff0c;其灰度响应输…

Allegro172版本如何用自带功能改变过孔网络属性操作指导

Allegro172版本如何用自带功能改变过孔网络属性操作指导 在用Allegro做PCB设计的时候,时常会需要将过孔的网络进行变更,可以将原来的过孔删除,再重新打一个,这种方法难免会繁琐一些。 当然我们可以借助skill工具来完成更换过孔网络的更改,除此之外,Allegro自带的功能完成…

[计算机网络]---Https协议

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、https协…

消息中间件之RocketMQ源码分析(十)

Namesrv启动流程 第一步:脚本和启动参数配置。 启动命令 nohup ./bin/mqnamesrv -c ./conf/namesrv.conf > dev/null 2>&1 & 通过脚本配置启动基本参数&#xff0c;比如配置文件路径、JVM参数&#xff0c;调用NamesrvStartup.main()方法&#xff0c;解析命令行的…

【PyQt6] 框选截图功能

1 简介 书接上回, 全屏截图实现起来很简单, 来点稍微复杂点的, 框选截图 原理很简单, 弄个控件实现全屏半透视, 在全屏控件上画一个选框或者再弄一个几乎全透的子控件,实现鼠标拖动,缩放,移动, 键盘wasd 微调 用一个控件实现起来会很完美, 但是逻辑全部堆砌在一起,看代码会很…

Mac电脑玩《幻兽帕鲁》卡怎么办?2024年最新解决方法

幻兽帕鲁目前已经在steam卖出了100多万份数&#xff0c;可谓是爆火现象级的游戏。如今在游戏中&#xff0c;我们可以实现工农业自动化&#xff0c;为了实现自动化&#xff0c;将手工作业交给帕鲁就尤为重要。建造工厂&#xff0c;并安排帕鲁在其中工作吧。只要有足够的食物&…

K8s服务发现组件之CoreDNS/NodeLocalDNS /kubeDNS

1 coredns 1.1 概述 1.1.1 什么是CoreDNS CoreDNS 是一个灵活可扩展的 DNS 服务器&#xff0c;可以作为 Kubernetes 集群 DNS&#xff0c;在Kubernetes1.12版本之后成为了默认的DNS服务。 与 Kubernetes 一样&#xff0c;CoreDNS 项目由 CNCF 托管。 coredns在K8S中的用途,…

spring aop @annotation的用法

直接看原文: spring aop annotation的用法-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- annotation用在定义连接点时&#xff0c;对连接点进行限制。比如我们想对标注了…

prometheus+mysql_exporter监控mysql

prometheus+mysql_exporter监控mysql 一.安装mysql 1.下载:wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 2.安装客户端:yum -y install mysql57-community-release-el7-10.noarch.rpm 3.安装服务端:yum -y install mysql-community-se…

day10:分割链表

问题描述&#xff1a; 给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进行分隔&#xff0c;使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 示例 1&#xff1a; 输入&#xff1a;head [1,4…

【HTML】SVG实现炫酷的描边动画

前沿 今天闲来无事&#xff0c;看到Antfu大佬的个性签名&#xff0c;觉得还是非常炫酷的&#xff0c;于是也想要搞一个自己的个性签名用来装饰自己的门面&#xff0c;不过由于手写的签名太丑了&#xff0c;遂放弃。于是尝试理解原理&#xff0c;深入研究此等密法&#xff0c;终…

VLM多模态图像识别小模型UForm

参考:https://github.com/unum-cloud/uform https://huggingface.co/unum-cloud/uform-gen2-qwen-500m https://baijiahao.baidu.com/s?id=1787054120353641459&wfr=spider&for=pc demo:https://huggingface.co/spaces/unum-cloud/uform-gen2-qwen-500m-demo UF…

市场复盘总结 20240219

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率中 22% 最常用的…

Shiro-05-5 分钟入门 shiro 安全框架实战笔记

序言 大家好&#xff0c;我是老马。 前面我们学习了 web 安全之 Spring Security 入门教程 这次我们来一起学习下另一款 java 安全框架 shiro。 什么是Apache Shiro&#xff1f; Apache Shiro是一个功能强大且易于使用的Java安全框架&#xff0c;它为开发人员提供了一种直…

Redis 数据类型及其常用命令二(bitmap、geo、hyperloglog、bitfield、stream)

上文中我们介绍了Redis常使用的5中数据类型&#xff0c;对于一些特殊的场景&#xff0c;我们需要使用特殊的数据类型&#xff0c;本文将详细介绍5种特殊的数据类型。 1、bitmap 类型 用String类型作为底层数据结构实现的一种统计二值状态的数据类型。位图本质是数组&#xff0…

《剑指 Offer》专项突破版 - 面试题 45 和 46 : 二叉树最低层最左边的值和二叉树的右侧视图(C++ 实现)

目录 面试题 45 : 二叉树最低层最左边的值 面试题 46 : 二叉树的右侧视图 面试题 45 : 二叉树最低层最左边的值 题目&#xff1a; 如何在一棵二叉树中找出它最低层最左边节点的值&#xff1f;假设二叉树中最少有一个节点。例如&#xff0c;在下图所示的二叉树中最低层最左边…

Codeforces Round 924 (Div. 2)题解(A-D)

A - Rectangle Cutting 链接&#xff1a;A - Rectangle Cutting 思路 考虑横边和纵边&#xff0c;若为偶数&#xff0c;则从中间分开&#xff0c;重新组合为一个长方形&#xff0c;检测是否与原来的长方形一致。 代码 #include <bits/stdc.h> using namespace std;i…

探秘OpenAI的神奇之作:Sora技术揭秘

探秘OpenAI的神奇之作&#xff1a;Sora技术揭秘 1. 引言 在当今科技快速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;正日益成为各个领域的关键技术。而在人工智能领域中&#xff0c;OpenAI公司一直以来都扮演着重要的角色。他们的最新创新——Sora技术&#x…

基于python的遥感影像灰色关联矩阵纹理特征计算

遥感影像纹理特征是描述影像中像素间空间关系的统计特征&#xff0c;常用于地物分类、目标识别和变化检测等遥感应用中。常见的纹理特征计算方式包括灰度共生矩阵&#xff08;GLCM&#xff09;、灰度差异矩阵&#xff08;GLDM&#xff09;、灰度不均匀性矩阵&#xff08;GLRLM&…