《剑指offer》面试题63. 股票的最大利润
2024-10-17 21:41:46
问题描述
假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
示例 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 <= 数组长度 <= 10^5
代码
在遍历数组过程中,记录到目前位置的最低价格,如果当前价格比以前最低价格低则更新,否则则计算卖出收益是否比以前卖出最大收益还要大,取最大收益。
class Solution {
public:
int maxProfit(vector<int>& prices) {
if(prices.size()==0)return 0;
int minprice = prices[0],ans= 0;
for(int num:prices)
{
minprice = min(minprice,num);
ans = max(ans,num-minprice);
}
return ans;
}
};
结果
执行用时 :8 ms, 在所有 C++ 提交中击败了83.82%的用户
内存消耗 :13 MB, 在所有 C++ 提交中击败了100.00%的用户
最新文章
- paas架构之docker——容器进程管理
- Redis word bak
- Note_Master-Detail Application(iOS template)_03_main.m
- HDU5046 Airport dancing links 重复覆盖+二分
- JAVADOC时候乱码-编码 GBK 的不可映射字符
- bootstrap学习--什么是bootstrap
- 为Nexus配置阿里云代理仓库
- Android 极光推送造成IM服务绑定失败bug
- windows nginx配置https访问
- php 截取 小程序上传到服务器图片,
- 一分钟学会ConstraintLayout(转载)
- VMware vCenter 6.0 安装及群集配置介绍
- L256 翻译
- kbmMW SmartService控制返回类型
- foreman ubuntu16快速安装
- C#中全局处理异常方式
- 监控小工具(jconsole)
- .NET Standard - 揭秘 .NET Core 和 .NET Standard[转自MSDN]
- ubuntu 14.04常见问题
- NSJSONSerialization能够处理的JSONData
热门文章
- CF469A I Wanna Be the Guy 题解
- 使用vi编辑时,上下左右键显示为字符的问题
- JAVA字符串拼接操作规则说明
- FastAPI 学习之路(六十)打造系统的日志输出
- 【LeetCode】295. Find Median from Data Stream 解题报告(C++)
- 【LeetCode】567. Permutation in String 解题报告(Python)
- 【LeetCode】516. Longest Palindromic Subsequence 最长回文子序列
- codeforces626D . Jerry&#39;s Protest
- mac学习Python第二天:开发工具安装、编程方式、中文编码、syntaxError语法错误、注释、语法格式
- 设置div背景透明的两种方法