剑指offer 面试题63 股票的最大利润

剑指offer面试题63:股票的最大利润 题目描述 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 示例1 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。 示例2 输入: [7,6,4,3,1] 输出: 0 解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。 提示 0<=数组长度 阅读详情

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
示例 1:

输入: [7,1,5,3,6,4]
输出: 5
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。
示例 2:

输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。

tips: 一遍遍历,维护一个之前最低的股价min,用当前位置的股价减去min, 得到当前卖出可以获得的最大利润。在此过程中维护一个maxProfit。时间复杂度O(n), 空间复杂度O(1)

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        if(prices.size()<=1) {
            return 0;
        }
        int minBefore=prices[0];
        int maxProfitNow=0;
        for (int i = 1; i < prices.size(); i++)
        {
            if(prices[i]<minBefore) {
                minBefore=prices[i];
            } else if(prices[i]-minBefore>maxProfitNow){
                maxProfitNow=prices[i]-minBefore;
            }
        }
        return maxProfitNow;
    }
};

剑指offer 面试题63 python版+解析:股票的最大利润 给定一个数组,它的第i个元素是一支给定股票第i天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ... 阅读详情

相关推荐

整理并记录几种运算放大器

运算放大器是一种十分常见的电子元器件,最近我在学习运放,以前在学校没有好好的学习,今天在B站看了唐老师讲运算放大器-唐老师讲电赛系列视频教程,记录下所学的,纯当是自己的笔记 学习运放,有两个重要的概念及重要的计算法宝,虚短vp=vn;和虚断ip=in 1反向比例运算电路 Rf可以大于、小于或等于R,起到放大、跟随、衰减输入的作用; 平衡电阻没有太高的精度要求,可加可不加; 有些运放内部集成了补偿电路,就不需要使用平衡电阻,加了反而增大误差,如OPA227 2.同向比例运放电路 .

qq_36823004的博客 6364

【剑指offer】——股票的最大利润

一份耕耘,一份收获。

sjp11的博客 1346

手把手教你用Xilinx SelectIO IP核搞定ADS42LB69高速ADC的DDR数据采集(附仿真调试技巧)

本文详细介绍了如何使用Xilinx SelectIO IP核实现ADS42LB69高速ADC的DDR数据采集,包括IP核配置、仿真验证和硬件调试技巧。通过精准的时序控制和实战调试方法,解决高速数据采集中的时序对齐问题,提升系统稳定性和可靠性。特别适合FPGA工程师和高速ADC接口设计者参考。

weixin_42533622的博客 152

LeetCode & 剑指Offer:一文详解六道股票问题(买卖股票的最佳时机)--动态规划

介绍: 股票问题一共有六道:买卖股票的最佳时机(I,II,III,IV)、含冷冻期、含手续费。本次解析还包括一道面试题:面试题63. 股票的最大利润(即买卖股票的最佳时机I) 股票问题的方法就是 动态规划,因为它包含了重叠子问题,即买卖股票的最佳时机是由之前买或不买的状态决定的,而之前买或不买又由更早的状态决定的… LeetCode 121 :买卖股票的最佳时机I 给定一个数组,它的第 i 个元素...

Tiger数学之家的博客 1130

企业数字化转型的 4A 架构指南:从概念解读到 TOGAF 阶段对应

4A企业架构是中国数字化转型实践中总结的简化框架,包含业务、应用、数据和技术四个架构层。它自上而下形成业务驱动应用的指导关系,自下而上构建技术支撑数据的实现路径,与国际标准TOGAF核心内容高度对应。该模型通过统一语言、战略对齐和系统梳理,有效连接业务需求与IT实施,已成为企业架构规划的实用工具。其分层结构清晰展示了从业务目标到技术落地的完整推导链,特别适合中国企业的数字化转型场景。

友莘居士的博客 2174

【YOLO系列】YOLOv4详解:模型结构、损失函数、训练方法及代码实现

摘要:YOLOv4在目标检测领域实现了精度与速度的平衡,通过CSPDarknet53骨干网络、SPP+PANet特征融合及CIoU损失函数等创新,在MS COCO数据集达到65.7% AP50,V100显卡实现62FPS实时检测。核心优化包括Mosaic数据增强、自对抗训练和解耦头结构,显著提升小目标检测和遮挡场景鲁棒性。代码实现采用CSP模块和SPP多尺度池化,兼顾计算效率与检测性能,为工业落地提供高效解决方案。(149字)

一碗白开水一 1357

【剑指offer】面试题63 六种买卖股票问题

本文结合剑指offer的63题与leecode上的六种买卖股票问题进行了总结,综合来说,就是需要不断地考虑在不同的条件下,dp[i][k][j]的产生条件,往往为前一位与前一位买卖的相关操作的最大值。 1.第一种股票问题(单次买卖) 动态规划实现第一类股票问题,单次买入卖出如果将最低收益设为0,那么初始值为0;如果考虑负收益 ,则初始值为INT_MIN 思路1:动态规划,计算每个位置的...

方寸间沧海桑田的博客 983

OpenCV实现物体尺寸的测量

物体尺寸测量的思路是找一个确定尺寸的物体作为参照物,根据已知的计算未知物体尺寸。如下图所示,绿色的板子尺寸为220*300(单位:毫米),通过程序计算白色纸片的长度。

qq_53545309的博客 9157

剑指 offer 63 股票的最大利润(动态规划)

1 题目描述 2 算法思路 动态规划: 状态定义:dp[i],代表以i结尾的子数组最大利润 转移方程: 前i日最大利润 = 前i - 1天的最大利润 和 第i天价格 - 前i天最低价格 的最大值 dp[i] = max(dp[i - 1], prices[i] - min(price[i] , minPrice) 初始化,dp[0] = 0, 返回值 dp[n - 1] 3 代码 class Solution { public int maxProfi..

Y_M的博客 400

UG NX二次开发(C#)-读取PMI对象的名称

摘要:本文介绍了在UG NX中通过NXOpen获取PMI对象名称的方法。首先说明PMI对象初始无名称,可通过重命名或属性设置名称。然后提供C#代码示例,展示如何遍历PMI集合获取对象名称,并显示名称和类型信息。适用于需要操作PMI对象的开发人员,欢迎加入技术交流QQ群749492565。(99字)

GimiGimmy 590

从数字后端角度谈谈occ电路(一)

摘要:本文介绍了芯片测试中OCC(On-Chip Clock Control)电路的设计与应用。随着工艺进步,芯片制造面临Stuck-at、Bridging和Delay等故障类型,需要不同时钟频率进行测试。OCC电路通过Clock Selection、Clock Chopping Control和Clock Gating三个模块,实现ATE时钟与PLL时钟的切换控制,支持慢速时钟检测Stuck-at故障和快速时钟检测Delay故障。文章详细解析了OCC电路结构及各模块功能,包括同步单元、移位寄存器等关键组件

芯冰乐 585

剑指 Offer 63. 股票的最大利润

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。 买卖一次股票 class Solution { public int maxProfit(int[] prices) { if(pri.

mn08290125的博客 169

【Envi遥感图像处理】022:envi时空分析工具的使用

本文介绍了ENVI软件中的时空分析工具应用,以美国拉斯维加斯1975-2014年的9期Landsat数据为例。主要内容包括:1)时空分析概念,即对空间相关时间序列数据的建模分析;2)构建时序数据流程,通过添加栅格、时间排序等步骤生成.series格式时序文件;3)时序数据查看方法,包括动画播放、添加注记及保存视频;4)多源数据统一处理工具,解决坐标系、空间范围不一致问题。该工具可用于冰川变化、植被覆盖等时空变化研究。

智慧空间实验室 269

剑指 Offer(第2版)面试题 63:股票的最大利润

剑指 Offer(第2版)面试题 63:股票的最大利润

ProgramNovice的博客 549

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

《剑指offer》面试题63:股票的最大利润

题目:股票的最大利润 求买卖股票一次能获得的最大利润。例如,输入{9,11,8,5,7,12,16,14},5的时候买入,16的时候卖出,则能获得最大利润11。 思路: 这道题只需要遍历一次数组,用一个变量buy记录遍历过数中的最小值,然后每次计算当前值和这个最小值之间的差值最为利润res,然后每次选较大的利润来更新。当遍历完成后当前利润即为所求。 基于以上思路,java参考代码如下: publ...

qq_43502142的博客 489

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

剑指offer | 面试题63:股票的最大利润

转载本文章请标明作者和出处 本文出自《Darwin的程序空间》 本文题目和部分解题思路来源自《剑指offer》第二版 开始行动,你已经成功一半了,献给正在奋斗的我们 题目 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 示例一 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股...

程序员大航子 633

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

剑指offer系列-面试题63. 股票的最大利润(python)

文章目录1. 题目2. 解题思路3. 代码实现3.14. 总结5. 参考文献 1. 题目 2. 解题思路 3. 代码实现 3.1 4. 总结 5. 参考文献 [1] 剑指offer丛书 [2] 剑指Offer——名企面试官精讲典型编程题

besmarterbestronger的博客 467

剑指Offer——面试题63:股票的最大利润

面试题63:股票的最大利润 题目:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖交易该股票可能获得的利润是多少?例如一只股票在某些时间节点的价格为{9, 11, 8, 5, 7, 12, 16, 14}。如果我们能在价格为5的时候买入并在价格为16时卖出,则能收获最大的利润11。 #include<iostream> #include<algorithm> #in...

愿你慢慢变强的博客 286

剑指offer 面试题63. 股票的最大利润

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。 示例 2: 输入: [7,6...

kaggle expert,全球排名前1000,清华计算机研究生,兴趣算法工程 460

面试题63(剑指offer)--股票的最大利润

题目: 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可获得的最大利润是多少? 示例: 一只股票在某些时间节点的价格为{9,11,8,5,7,12,16,14}。如果我们能 在价格为5的时候买入并在价格为16时卖出,则能获得最大的利润为11. 解法: /** * 某天能获得最大利润取当天价格减去以前最小价格的值和 * 当天之前能获得的最大利润两者中的...

梧秋的博客 244

剑指offer:面试题63—股票的最大利润

题目描述 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?例如,一只股票在某些时间节点的价格为{9,11,8,5,7,12,16,14}。如果我们能在价格为5的时候买入并在价格为16的时候卖出,则能收获的最大利润为11。 解决: public static int MaxDiff(int[] numbers,int length) ...

123木头人! 266

Java详解剑指offer面试题63--股票的最大利润

Java详解剑指offer面试题63–股票的最大利润 假设某股票的价格按照时间先后顺序存储在数组中,问买卖该股票一次可能获得的最大利润是多少? 如一支股票在某段时间内的价格为{9, 11, 8, 5, 7, 12, 16, 14}那么能在价格为5的时候购入并在价格为16时卖出,能获得最大利润11 咋一看好像只要求出数组中的最大/最小值就完事了,但是数组中的值是按照时间顺序排列的,这就是说假如数组中最小值在最大值之后,它们的差值不会是股票的最大利润。因此我们要求的是数组中排在后面的数(售出价格)与排在前面

快乐李同学的博客 804

剑指offer面试题63(java版):股票的最大利润

welcome to my blog 剑指offer面试题63(java版):股票的最大利润 思路 从头开始遍历, 记录遍历过程中的最小值, 同时计算并更新arr[i] - min的最大值 感觉很简单, 其实还是要巩固自己的思路, 比如明确每次for循环在做什么: 计算卖出价为arr[i]时能够获得的最大利润 public int MaxDiff(int[] arr){ //input...

littlehaes的博客 751

Leetcode刷题:剑指offer【面试题63 股票的最大利润】

【面试题63 股票的最大利润】 面试题63:股票的最大利润:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 思路:动态规划。

学习 & 分享 ~ 421

【剑指offer】面试题63:股票的最大利润【C++版本】

总结的部分题目思路与代码,待完善。 【剑指offer-第二版】部分题目与解答【C++版本】 题目: 股票的最大利润 假设把某股票的价格按照时间先后顺序储存在数组中,请问买卖该股票一次可能获得的最大利润是多少?例如,一只股票在某些时间节点的价格为{9,11,8,5,7,12,16,14}。如果我们能在价格为5的时候买入并在价格为16的时候卖出,则能收获最大的利润11。 解题思路: ...

m0_37950361的博客 1874
上一篇: 剑指offer 面试题40 最小的K个数
下一篇: Leetcode 36. 有效的数独
wenkun97
博客等级 码龄10年 15粉丝 139原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值