【数组】122. 买卖股票的最佳时机 II(简单)

122. 买卖股票的最佳时机 II 方法一: 交易次数不受限,如果可以把所有的上坡全部收集到,一定是利益最大化的,就是在超过当前进价时,达到波峰时候卖出去 public int maxProfit(int[] arr) { if (arr == null || arr.length <= 1) return 0; int ans = 0; for (int i = 1; i < arr.length; i++) { if (arr[i] 阅读详情

【题目】
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
【示例 1】
输入: [7,1,5,3,6,4]
输出: 7
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。
随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。
【示例 2】
输入: [1,2,3,4,5]
输出: 4
解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。
注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。
因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。
【示例 3】
输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。
提示
1 <= prices.length <= 3 * 10 ^ 4
0 <= prices[i] <= 10 ^ 4
【代码】

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int earn=0;
        for(int i=1;i<prices.size();i++)
            if(prices[i]>prices[i-1])
                earn+=prices[i]-prices[i-1];
        return earn;
    }
};
目标检测YOLO实战应用案例100讲-基于数据融合的SAR图像中海上目标检测与跟踪(中) 本文使用的数据集为欧空局(European Space Agency, ESA)提供的Sentinal-1 数据集,Sentinel-1是欧洲“哥白尼计划”的SAR卫星机群,主要是用于陆地和海 洋服务的极地轨道全天候昼夜雷达成像任务[ 34]。Sentinel-1A于2014年4月3日发 射升空,Sentinel-1B于2016年4月25日发射升空,每颗卫星都携带C波段SAR, 共同提供地球表面的全天候、昼夜图像。 阅读详情

相关推荐

高分辨率航拍图像的目标检测切图优化策略

本文深入探讨了高分辨率航拍图像目标检测中的切图优化策略。针对大尺寸图像直接缩放导致小目标信息丢失的问题,文章详细阐述了基于重叠切割的核心方法,包括如何根据目标尺寸确定切图尺寸与重叠率,并提供了从切图到坐标还原的完整代码实现与避坑指南,有效提升检测精度与效率。

xk7n92h3p5m的博客 1114

leetcode每日一题——122.买卖股票的最佳时机II(面试经典150题)

leetcode每日一题——122.买卖股票的最佳时机II(面试经典150题) 内容主要包括对这一题目的思路分析、步骤分析以及代码实现

m0_59800431的博客 1476

五分钟搞懂游戏开发中的抗锯齿算法

常见抗锯齿算法总结锯齿由来抗锯齿算法SSAAMSAACSAA 锯齿由来 场景的定义在三维空间中是连续的,而最终显示的像素则是一个离散的二维数组,这是计算机屏幕产生锯齿的原因。在计算机处理图形的过程中(渲染管线了解一下),有一个非常重要的阶段,就是光栅化,光栅化主要的作用是将顶点数据的不连续性通过插值计算,将两个顶点之间不存在的点进行弥补,然后实现到屏幕像素点上的一一映射。如图,现在要在屏幕上绘制一...

绿洲守望者 1万+

leetcode:122. 买卖股票的最佳时机 II(买卖无限次)

121题中股票全程只能买卖一次,所以如果买入股票, 那么第i天持有股票即have[i]一定就是 -prices[i], 而本题中, 因为一只股票可以买卖多次, 所以当第i天买入股票的时候, 所持有的现金可能有之前买卖过的利润, 所以have[i]=no[i-1]-prices[i]. 这就是两题唯一不同的地方了, 其他地方都是一模一样了!因为本题的动态规划方法和[121. 买卖股票的最佳时机]只有一处不同, 其他的思路和代码是一模一样。即可, 就是最终答案.

OceanStar的博客 1501

拜耳阵列(Bayer Pattern)和解马赛克简介

拜尔阵列由柯达的布莱斯·拜尔发明,拜尔阵列将更多的像素用于绿色,而不是红色和蓝色,因为人眼对绿色更敏感。但这张照片,每个像素只有rgb中的一种颜色,每个像素还缺少其它两个颜色分量,效果如下图3所示。典型的图像传感器(例如我们在数码相机中使用的图像传感器,主要有CCD, CMOS)由许多单独的光电传感器组成,所有这些传感器都会捕获光线。如果想要获得不同颜色的光,最直接的做法是加入不同颜色的滤镜,从而滤出 RGB 三个通道的颜色。这个覆盖层可以理解为一个过滤层,每种类型的过滤器通常只允许一种颜色的光线的通过。

qq_34999565的博客 5985

DCDC: 前馈电容优化环路稳定性的设计与验证方法

本文深入探讨了DCDC转换器中前馈电容对环路稳定性的优化设计与验证方法。通过分析前馈电容的作用原理、选型计算和实验验证,详细介绍了如何利用穿越频率和相位裕度等关键参数提升系统性能。文章还提供了实用的设计经验和问题排查技巧,帮助工程师在实际应用中实现DCDC转换器的最佳稳定性。

weixin_42531516的博客 441

《LeetCode》—— 买卖股票的最佳时机

动态规划题目的讲解

m0_56069910的博客 3551

网络抓包实战:如何捕获与解析802.1Q VLAN标签报文

在网络通信中,数据包是信息传输的基本单元,而VLAN(虚拟局域网)技术通过在数据链路层插入802.1Q标签,实现了网络流量的逻辑隔离与高效管理。其核心原理是在标准以太网帧头中嵌入4字节的VLAN标识,使交换机能够根据VID(VLAN ID)进行精准转发。掌握VLAN报文的捕获与解析技术,对于网络故障排查、安全审计和性能优化具有重要价值,尤其在需要验证网络隔离策略或诊断Trunk链路异常时。本文聚焦于使用Wireshark工具,结合端口镜像等实操方法,详细演示如何抓取并解读携带802.1Q标签的原始报文,帮助

weixin_33417488的博客 383

【力扣经典面试题】122. 买卖股票的最佳时机 II

初始化最大利润ans为0,获取股票价格数组的长度n。使用循环从第二天开始遍历到最后一天,对每一天进行处理。计算当前交易的利润,使用来保证利润不为负数,即如果价格上涨则累加利润,否则不进行操作。将每次计算得到的利润累加到总利润ans中。返回最终的总利润作为最大利润。该算法的核心思想是通过贪心策略,在每一次价格上涨时进行交易,以获得最大的累积利润。这样的贪心策略适用于该问题,因为我们只关心总体利润的增加,而不需要具体的买卖操作。最终的时间复杂度是O(n),其中n是股票价格数组的长度。

a910247的博客 742

基于PSO-BP神经网络的风电功率预测研究论文复现

风电功率预测。基于PSO-BP神经网络的风电功率预测论文复现。matlab程序,注释清晰。

weixin_825487230的博客 2295

携程机票数据爬取实战:使用 Python 获取携程网机票信息

通过本篇博客,我们详细介绍了如何使用 Python 爬取携程网的机票信息,涉及了静态网页爬取(使用 Requests 和 BeautifulSoup)和动态网页爬取(使用 Selenium)两种方法。通过获取的数据,我们不仅能够进行票价分析,还可以构建更为复杂的预测模型或趋势分析工具。爬虫技术不仅能够帮助我们收集有价值的数据,还能够为商业决策提供数据支持。在实际应用中,我们可以结合更多的分析方法,如自然语言处理、图像处理等,进一步提升数据的价值。

2201_76125261的博客 1658

买卖股票的最佳时机II(数组)

给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回你能获得的利润。7在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。

creazypeople的博客 490

S7-1200与ABB机器人进行SOCKET通信的具体方法示例

S7-1200与ABB机器人进行SOCKET通信的具体方法示例

Robot_PLC_HMI_Automation 3299

数组简单 leetcode122. 买卖股票的最佳时机 II

class Solution { /* 首先知道是可以在第i天卖掉然后第i天又买入的 因为不限交易次数,只要第二天比前一天价格高就是有收益的,所以每天都这样判断,每天的收益累加起来就是最大收益。 */ public int maxProfit(int[] prices) { int res=0; for(int i=1;i&l...

31楼下小黑的博客 209

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

0数组简单 牛客NC.134股票交易的最大收益 leetcode122. 买卖股票的最佳时机 II

122. 买卖股票的最佳时机 II 题目描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 思路 可多次买卖一支股票意味着同一天可以买入和卖出股票。 最大利润是每一天利润的总和,求取每一天的最大利润加起来就好。(寻找连续的单调递增,开始买,到头卖) class Solution { public int maxProfi

31楼下小黑的博客 246

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

代码思路dp[i][0] 表示第i天持有股票所得最多现金dp[i][1] 表示第i天不持有股票所得最多现金当第i天继续持有,一共两种状态:还有就是之前就买入, 第i天才买入分别是 dp[i][0] : dp[i-1][0] 和 -prices[i]当第i天不持有,也就是第i天那天卖出,或者是之前就卖出了,分别是dp[i - 1][1]和 prices[i]

hello_brucebat的博客 141

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

代码随想录Day 28|题目:122.买卖股票的最佳时机Ⅱ、55.跳跃游戏、45.跳跃游戏Ⅱ、1005.K次取反后最大化的数组和

简单题目使用贪心算法,培养贪心的意识。

LuckyYH__的博客 1272

股票卖出问题

做算法最重要的是审题

weixin_62986330的博客 274

Day28|122.买卖股票的最佳时机 II、55.跳跃游戏、45.跳跃游戏 II、1005.K次取反后最大化的数组和

这题AC倒是很容易,把数组按大小排序一下就好。参考解法按绝对值排序的方法更好!因为答案好像并没有模拟出跳的过程,所以比较难理解,我这里是模拟出跳跃过程的。一句话总结思路:看两步最远能跳到哪。说实话,这道题简单到有点让人觉得难(不敢相信)。1005.K次取反后最大化的数组和。122.买卖股票的最佳时机 II。45.跳跃游戏 II。

LUFFYLLLLL的博客 225

Day23 | 455. 分发饼干、376. 摆动序列、53. 最大子数组和、122. 买卖股票的最佳时机 II、55. 跳跃游戏、45. 跳跃游戏 II

122. 买卖股票的最佳时机 II。45. 跳跃游戏 II。53. 最大子数组和。

m0_56545264的博客 179

LeetCode第122题_买卖股票的最佳时机II

给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回你能获得的利润。

qq_40263592的博客 1810

买卖股票的最佳时机 II(LeetCode 122)

多种算法实现 买卖股票的最佳时机 II(LeetCode 122)

10年数据\经营分析经验,现任大厂数据分析负责人 1094

day51 动态规划 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II

1.确定dp数组(dp table)以及下标的含义dp[i][0] 表示第i天持有股票所得最多现金 ,dp[i][1] 表示第i天不持有股票所得最多现金持有2.确定递推公式, 那么可以由两个状态推出来那么dp[i][0]应该选所得现金最大的,所以dp[i][0] = max(dp[i - 1][0], -prices[i]);, 也可以由两个状态推出来同样dp[i][1]取最大的,dp[i][1] = max(dp[i - 1][1], prices[i] + dp[i - 1][0]);

m0_68259754的博客 1235

leetcode122. 买卖股票的最佳时机 II,贪心算法

leetcode122. 买卖股票的最佳时机 II,贪心算法

热爱C++和golang的学生 1423

LeetCode:122. 买卖股票的最佳时机 II(python)

LeetCode:122. 买卖股票的最佳时机 II(python) 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)...

wk的博客 1658

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

我们可以将问题分解为一系列连续的上涨子序列,并在每个上涨子序列中,计算利润,并将其累加到最终的结果中。由于题目中要求在任何时候手里最多只有一支股票,因此在每天交易完成后,只可能手里有一支股票或者没有股票的状态。,这时候我们要将其卖出,并获得prices[i]收益。的转移方程,如果这一天交易完成后手里没有股票,那么可能的状态转移为前一天已经没有股票了,即。,或者前一天结束的时候手里有一支股票,即。,如果转移状态前一天已经持有一支股票。,或者前一天结束的时候手里没有股票,即。,这时候我们要将其买入,并减少。

码农努力学习 1181
上一篇: 【数组】1287. 有序数组中出现次数超过25%的元素(简单)
下一篇: 【数组】1185. 一周中的第几天(简单)
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值