问题描述

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
示例 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%的用户

最新文章

  1. paas架构之docker——容器进程管理
  2. Redis word bak
  3. Note_Master-Detail Application(iOS template)_03_main.m
  4. HDU5046 Airport dancing links 重复覆盖+二分
  5. JAVADOC时候乱码-编码 GBK 的不可映射字符
  6. bootstrap学习--什么是bootstrap
  7. 为Nexus配置阿里云代理仓库
  8. Android 极光推送造成IM服务绑定失败bug
  9. windows nginx配置https访问
  10. php 截取 小程序上传到服务器图片,
  11. 一分钟学会ConstraintLayout(转载)
  12. VMware vCenter 6.0 安装及群集配置介绍
  13. L256 翻译
  14. kbmMW SmartService控制返回类型
  15. foreman ubuntu16快速安装
  16. C#中全局处理异常方式
  17. 监控小工具(jconsole)
  18. .NET Standard - 揭秘 .NET Core 和 .NET Standard[转自MSDN]
  19. ubuntu 14.04常见问题
  20. NSJSONSerialization能够处理的JSONData

热门文章

  1. CF469A I Wanna Be the Guy 题解
  2. 使用vi编辑时,上下左右键显示为字符的问题
  3. JAVA字符串拼接操作规则说明
  4. FastAPI 学习之路(六十)打造系统的日志输出
  5. 【LeetCode】295. Find Median from Data Stream 解题报告(C++)
  6. 【LeetCode】567. Permutation in String 解题报告(Python)
  7. 【LeetCode】516. Longest Palindromic Subsequence 最长回文子序列
  8. codeforces626D . Jerry&#39;s Protest
  9. mac学习Python第二天:开发工具安装、编程方式、中文编码、syntaxError语法错误、注释、语法格式
  10. 设置div背景透明的两种方法