*买卖股票的最佳时机 II

Leetcode 123:买卖股票的最佳时机III(最详细的解法!!!) 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [3,3,5,0,0,3,1,4] 输出: 6 解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 =... 阅读详情

给定一个数组,它的第 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:

思路:贪心法,不考虑整体,只考虑局部最优解,总是做出当前看起来最好的选择。
只关心当前利润,不考虑以后,第0天买入为prices[0],第1天卖出为prices[1],则profit=prices[1]-prices[0],有两种情况:
profit>0
profit<0

局部最优则是profit>0,以此类推下去就是最大利润。

class Solution {
    public int maxProfit(int[] prices) {
        int temp=0;
        int profit=0;
        for(int i=1;i<prices.length;i++){
            temp=prices[i]-prices[i-1];
            if(temp>0){
                profit=profit+temp;
            }
        }
        return profit;
    }
}
BB一句:

自己在做时,一开始考虑的很复杂,这题得注意。

免费教你快速学会分析运算放大器电路(保证学会) 本文旨在学习如何快速简单地对运算放大器进行分析 阅读详情

相关推荐

银河麒麟V10系统下VLC播放器安装全攻略(附3.0.9.2版本离线包下载)

本文详细介绍了在银河麒麟V10操作系统无网络环境下,从零开始编译安装VLC 3.0.9.2播放器的完整攻略。通过构建本地YUM仓库解决依赖问题,提供离线资源包下载,并逐步指导完成编译环境配置、软件编译与安装,帮助用户在国产麒麟系统上成功部署强大的多媒体播放能力。

a2b3c4d5e的博客 1222

动态规划10 | ● *121. 买卖股票的最佳时机 ● *122.买卖股票的最佳时机II

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

weixin_45055622的博客 472

Unity中5分钟实现3D高斯泼溅渲染:从原理到实战部署

3D高斯泼溅(3D Gaussian Splatting)是一种新兴的神经渲染技术,它通过显式地使用大量3D高斯椭球来表示场景,革新了传统的体渲染和神经辐射场(NeRF)方法。其核心原理是将这些3D高斯投影到2D屏幕并进行快速光栅化与Alpha混合,从而绕过了耗时的光线步进,实现了极高的渲染效率。这项技术的价值在于,它能够在消费级GPU上达到实时甚至超实时的帧率,同时保持紧凑的数据表达和惊人的视觉细节,极大地降低了高质量3D重建与渲染的门槛。在应用场景上,它正快速渗透到数字孪生、虚拟现实、文化遗产数字化以及

weixin_29474431的博客 277

算法训练(leetcode)二刷第三十五天 | *121. 买卖股票的最佳时机、*122. 买卖股票的最佳时机 II、*123. 买卖股票的最佳时机 III

LeetCode二刷

weixin_43872997的博客 1278

PubMedBERT:生物医学NLP中的垂直领域预训练实践与性能突破

本文深入探讨了PubMedBERT在生物医学NLP领域的应用与性能突破。作为专为生物医学文本设计的预训练模型,PubMedBERT通过全词掩码策略和BLURB基准测试,显著提升了命名实体识别、关系抽取等任务的准确率。文章还提供了PubMedBERT的实战应用案例和代码示例,展示了其在医学文献检索和电子病历结构化中的卓越表现。

kite3的博客 286

交通小白首投TRB就中Oral?我的完整时间线与避坑指南(附Editorial Manager实操截图)

本文详细解析了交通领域新手如何高效完成TRB国际会议投稿的全流程,从选题策略到投稿系统实操,再到评审过程解析和常见误区避坑指南。特别针对初次投稿者提供了实用建议,包括时间规划、选题考量、Editorial Manager系统操作技巧,以及如何应对评审意见。文章还分享了从录用到会议参与的关键步骤,帮助研究者提升投稿成功率。

weixin_27303545的博客 388

*算法训练(leetcode)第三十五天 | 121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II、123. 买卖股票的最佳时机 III

LeetCode刷题日记

weixin_43872997的博客 618

STM32串口接收避坑指南:为什么你的USART_IT_IDLE中断不触发?附完整调试流程

本文深入解析STM32串口接收中断机制,特别是USART_IT_IDLE中断不触发的常见原因及解决方案。通过详细分析中断标志清除顺序、波特率配置、硬件连接等关键因素,并提供完整的调试流程和代码示例,帮助开发者快速定位并解决串口通信问题。

weixin_42519985的博客 348

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

/ 注意这里是和121. 买卖股票的最佳时机唯一不同的地方。// 直接取最大区间利润。// 取最左最小价格。

kline189的博客 322

小红书图文笔记图像批量爬取:Python爬虫实战与反反爬策略全解析

在当今社交媒体盛行的时代,小红书作为中国领先的生活方式分享平台,积累了海量的优质图文内容。对于数据分析师、市场研究人员或内容创作者来说,能够高效获取这些数据具有重要意义。本文将详细介绍如何使用Python构建一个高效、稳定的小红书图文笔记图像批量爬取工具,涵盖最新技术栈和反反爬策略。本文详细介绍了如何使用Python构建一个高效、稳定的小红书图文笔记图像批量爬取系统。通过结合Playwright、aiohttp等现代工具,实现了从列表页采集到图片下载的完整流程。

2201_76125261的博客 2364

【立创EDA-PCB设计基础】6.布线铺铜实战及细节详解

本文进行布线铺铜实战及详解布线铺铜的细节

嵌入式阿齐Archie 4万+

买卖股票的最佳时机 II*新得20.4.6

问题描述: Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete as many transactions as you like (i.e., b...

为什么他的emp没后座 164

医疗AI多智能体资源调度:用Python构建高性能MCU资源池

本文介绍了医疗AI服务平台中多智能体资源争用问题的解决方案。作者设计了一个基于MCU(多点控制单元)理念的中央资源调度器,通过三层架构(资源抽象层、调度策略层、执行控制层)实现对GPU、API、数据库等医疗资源的统一管理。系统采用增强版信号量机制处理可计数并发资源,优化令牌桶算法管理速率资源,并支持急诊优先、配额限制、审计合规等医疗场景特殊需求。核心代码提供了带优先级抢占的并发控制和医疗专用令牌桶实现,可有效解决多智能体资源争用导致的优先级混乱、资源利用不均等问题。

AllenLV的博客 3220

贪心算法02 | ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● *45.跳跃游戏II

● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● *45.跳跃游戏II

weixin_45055622的博客 589

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

代码随想录算法训练营第32天| 122.买卖股票的最佳时机 II、 55. 跳跃游戏*、45.跳跃游戏 II*

力扣题目链接 class Solution { public: int maxProfit(vector<int>& prices) { int result = 0; for (int i = 1; i < prices.size(); i++) { result += max(prices[i] - prices[i - 1], 0); } return result; }

kline189的博客 789

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

class Solution {//滚动数组版public://第i天有两个状态。0表示不持有股票。1表示持有股票dp[0][0]=0;//i%2随着i++是交替的。只有2*2的数组大小。第一列的前一天可能是第二列i<n;i++) {//不持有:继续不持有或者卖出了//卖了更赚就卖,不然就一直留着//持有:继续持有或者没有时再买入//亏的少再持有股票,不然就不持有。//最后一天保持和for循环的最后一次相一致public://第i天有两个状态。0表示不持有股票。

aFei_Toby的博客 226

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

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

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

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

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

qq_40263592的博客 1809

动态规划之买卖股票问题(篇一)(买卖股票的最佳时机)

本篇博客和接下来的几篇博客主要讲解一下中的,本篇博客主要讲解和。

2301_77160836的博客 1343

买卖股票的最佳时机 II

链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/solutions/476791/mai-mai-gu-piao-de-zui-jia-shi-ji-ii-by-leetcode-s/在动态规划中,我们通常将原问题分解为若干个子问题,并从底层的子问题开始逐步解决,将子问题的解保存起来,供后续使用。一共有 2n 个状态,每次状态转移的时间复杂度为 O(1),因此时间复杂度为 O(2n)=O(n)。这就是最优子结构的体现。

m0_55673629的博客 858

动态规划 26. 买卖股票的最佳时机II

而本题,因为一只股票可以买卖多次,所以当第i天买入股票的时候,所持有的现金可能有之前买卖过的利润。唯一不同的地方,就是推导dp[i][0]的时候,第i天买入股票的情况**。我写代码的时候,注释写得已经很详细了就懒得再写一边思路了()中,因为股票全程只能买卖一次,所以如果买入股票,那么第。直接摘录代码随想录的分析(那么第i天持有股票即。

m0_49844155的博客 790

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

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

热爱C++和golang的学生 1423

day41 力扣121. 买卖股票的最佳时机 力扣122.买卖股票的最佳时机II 力扣123.买卖股票的最佳时机III

改为 dp[i][0] = max(dp[i-1][1]-prices[i],dp[i-1][0]);同样dp[i][1]取最大的,dp[i][1] = max(dp[i - 1][1], prices[i] + dp[i - 1][0]);那么dp[i][0]应该选所得现金最大的,所以dp[i][0] = max(dp[i - 1][0], -prices[i]);dp[i][j]中 i表示第i天,j为 [0 - 4] 五个状态,dp[i][j]表示第i天状态j所剩最大现金。

2401_87983916的博客 1379

刷题DAY49 | LeetCode 121-买卖股票的最佳时机 122-买卖股票的最佳时机II

那么第i天持有股票即dp[i][0],如果是第i天买入股票,所得现金就是昨天不持有股票的所得现金 减去 今天的股票价格 即:dp[i - 1][1] - prices[i]。同样dp[i][1]取最大的,dp[i][1] = max(dp[i - 1][1], prices[i] + dp[i - 1][0]);那么dp[i][0]应该选所得现金最大的,所以dp[i][0] = max(dp[i - 1][0], -prices[i]);注意这里说的是“持有”,“持有”不代表就是当天“买入”!

wangs29的博客 1482

代码随想录算法训练营DAY48|C++动态规划Part9|121.买卖股票的最佳时机、122.买卖股票的最佳时机II、123.买卖股票的最佳时机III

递推公式先讨论一下。

糖炒栗子 1634

代码随想录 Day 45 | 【第九章 动态规划part 08】121. 买卖股票的最佳时机、122.买卖股票的最佳时机II、123.买卖股票的最佳时机III

121. 买卖股票的最佳时机。

loveJava17的博客 1168
上一篇: 两个数组的交集 II
下一篇: 反转字符串
coder_flag
博客等级 码龄9年 2粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值