LeetCode 121:买卖股票的最佳时机 思考分析

题目描述:
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。
注意:你不能在买入股票前卖出股票。

示例 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。
题目链接:121:买卖股票的最佳时机

第一个思路:使用双for循环,然后就超时了。。

class Solution {
public:int maxProfit(vector<int>& prices) {int n=prices.size();int ans=0;for(int i=0;i<n;i++){for(int j=0;j<i;j++){ans = max(ans,prices[i]-prices[j]);}}if(ans<=0)ans=0;return ans;}
};

第二个思路:dp[i]:表示前i天能获取的最大价值
dp[i]由两种方式获取:
1、计算前i-1天中买入的最小价格在第i天卖出的价格
2、计算前i-1天能获取的最大价值
两者取大值。
另外还需要注意:
1、当输入为空数组时,返回0(边界情况)
2、如果你新建了一个dp数组,可以发现不需要,直接用ans替换就行了,因为我们只用到dp数组的两个状态。

class Solution {
public:int maxProfit(vector<int>& prices) {int n=prices.size();if(n==0) return 0;int ans=0;int minnum =prices[0];for(int i=1;i<n;i++){minnum=min(minnum,prices[i]);ans=max(ans,prices[i]-minnum);}if(ans<=0)ans=0;return ans;}
};

在这里插入图片描述

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

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

相关文章

四、规则组织的衍生组织——经向破斜组织数学模型的建立

基础概念公式推到可参考该专栏下的前几篇博文。 经向破斜组织图&#xff1a; 左半部分&#xff1a;&#xff0c;3上2下1上2下&#xff0c;右斜&#xff0c;飞数为1 右半部分&#xff1a;&#xff0c;2上1下2上3下。左斜&#xff0c;飞数为-1 左右两部分&#xff0c;经纬纱组织…

EASYUI+MVC4通用权限管理平台

通用权限案例平台在经过几年的实际项目使用&#xff0c;并取得了不错的用户好评。在平台开发完成后&#xff0c;特抽空总结一下平台知识&#xff0c;请各位在以后的时间里&#xff0c;关注博客的更新。 1.EASYUIMVC4通用权限管理平台--前言 2.通用权限管理平台--架构选型 3.通用…

int max+1小于0_INT_MAX常数,C ++中的示例

int max1小于0C INT_MAX宏常量 (C INT_MAX macro constant) INT_MAX constant is a macro constant which is defied in climits header, it is used to get the maximum value of a signed int object, it returns the maximum value that a signed int object can store, wh…

在计算机领域客观事物的属性表示为数据,数据与信息试题解析

一图看懂数据与信息1、在计算机领域&#xff0c;信息是经过转化而成为计算机能够处理的__________。A&#xff0e;数据B&#xff0e;符号C&#xff0e;图形D&#xff0e;数字答案&#xff1a;A。解析&#xff1a;本题考查有关信息基本概念的知识。信息是人们由客观事物得到的。…

Mysql Data 目录和 Binlog 目录 搬迁

Mysql5.1.38 Data 目录和 Binlog 目录 搬迁 [mysql-bin.index not found (Errcode: 2)]Leave a comment Go to comments刚开始安装时使用了默认目录&#xff0c;使用一段时间&#xff0c;数据慢慢变在&#xff0c;发现当前设置的目录空间不够时&#xff0c;就要搬迁数据到另一个…

【数据结构基础】【散列表】

散列表也叫做哈希表(hash table),这种数据结构提供了键(key)和值(value)的映射关系。只要给出一个key&#xff0c;就可以高效查找它匹配的value&#xff0c;时间复杂度接近O(1); 哈希函数 哈希函数通过某种方式&#xff0c;把key和数组下标进行转换。 在java中&#xff0c;每…

VisualStudio运行C++项目检测include<stdio.h>报错解决方案

一、项目—>属性 二、将SDL检查更改为否即可

事业单位计算机技术岗工资,事业单位新入职的人员在管理岗位和技术岗位工资待遇是否有区别?...

解答于&#xff1a; 2016-05-24 17:17工伤保险条例对工伤工资待遇有说明&#xff1a; 第三十一条职工因工作遭受事故伤害或者患职业病需要暂停工作接受工伤医疗的&#xff0c;在停工留薪期内&#xff0c;原工资福利待遇不变&#xff0c;由所在单位按月支付。  停工留薪期一般…

信息设计中的“父子关系”

交互设计工作核心在于信息架构和交互细节设计。信息架构包括信息分类以及信息展示逻辑设计&#xff1b;交互细节则多表现为控件的选择&#xff0c;交互效果的定义等。在信息设计中&#xff0c;遇到最棘手的问题就是信息量太多而显得设计结果不尽人意&#xff0c;那么在砍不掉需…

python 示例_带有示例的Python文件关闭属性

python 示例文件关闭属性 (File closed Property) closed Property is an inbuilt property of File object (IO object) in Python, it can be used to check whether a file object (i.e. a file) is closed or not, this is a read-only property and returns a Boolean val…

[Object-oriented] : 控制反转

前言 : 参加点部落的活动&#xff0c;关于IoC(控制反转)大家有很多的讨论。本文排除对象生成的部份&#xff0c;单纯解释IoC为甚么叫做控制反转。本篇文章以之前写的 [Object-oriented] : 重用内容来举例。 未IoC之前的对象图 : 很明显的左边的组件A&#xff0c;相依右边的组件…

二、规则组织数学模型的建立

一、规则组织数学模型的建立 规则组织满足两个不变&#xff1a;1&#xff0c;组织点运动规律不变、2&#xff0c;飞数不变的单系统组织 即&#xff1a;若知道组织点运动规律和飞数即可确定唯一一个组织。 3上2下&#xff0c;组织循环数为325&#xff0c;经纱循环数纬纱循环数…

LeetCode 3:无重复字符的最长子串 思考分析

给定一个字符串&#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”&#x…

e-r模型教案高中计算机,《ER模型1》[数据库][计算机]教案.doc

《ER模型1》[数据库][计算机]教案一、复习旧知识点1、数据库概念设计的意义是什么&#xff1f;2、概念设计的基本步骤是什么&#xff1f;二、明确学习目标1、E-R模型的基本元素2、属性的分类三、重点、难点E-R模型的基本元素基本属性和复合性四、讲授知识点&#xff0c;指导自学…

(译)利用ASP.NET加密和解密Web.config中连接字符串

介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中&#xff0c;我写了许多关于介绍 Asp.net, Gridview, SQL Server, Ajax, JavaScript等的文章。大多数情况下&#xff0c;我都把数据库的连接字符串放在了web.config中。其中包…

lock_sh 示例_带有示例的Python date __str __()方法

lock_sh 示例Python date .__ str __()方法 (Python date.__str__() Method) date.__str__() method is used to manipulate objects of date class of module datetime. date .__ str __()方法用于操作模块datetime的date类的对象。 It uses a date class object and return…

美国人看见的是友情,中国人看见的是忠诚

美国人看见的是友情&#xff0c;中国人看见的是忠诚 这是一个人狗情未了的感人事件。 一个即将死去的人&#xff0c;总有未了的心愿难以割舍&#xff0c;来自美国的凯文麦克莱恩实现了他的临终愿望&#xff0c;而他的最后愿望就是与自己的爱犬见上最后一面。 现年57岁的凯文麦克…

PyCharm安装及配置

一、下载PyCharm和相关工具 qoi8 二、安装PyCharm 先不要运行PyCharm 三、将jar包放到PyCharm安装目录的bin文件夹下 三、找到pycharm64.exe.vmoptions和pycharm.exe.vmoptions配置文件 四、编辑这两个文件&#xff0c;在这两个文件最后一行加入下载好的jar包文件路径 -ja…

LeetCode 239:滑动窗口最大值 思考分析

给定一个数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 进阶&#xff1a; 你能在线性时间复杂度内解决此题吗&#xff1f; 示例: 输入: num…

计算机论文范文1500,电子商务毕业论文范文1500字

电子商务毕业论文范文1500字时间稍纵即逝&#xff0c;充满意义的大学生活即将结束&#xff0c;毕业前要通过最后的毕业论文&#xff0c;毕业论文是一种有计划的检验学生学习成果的形式&#xff0c;那么问题来了&#xff0c;毕业论文应该怎么写&#xff1f;下面是小编为大家整理…