zoukankan      html  css  js  c++  java
  • 买卖股票的最佳时机

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。

    如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。

    注意你不能在买入股票前卖出股票。

    示例 1:

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

    当前最大利润为当日价格减去之前的最小买入值。

    class Solution {
    public:
        int max_fun(int a, int b){
          return a>b? a:b;
        }
        int maxProfit(vector<int>& prices) {
          
          if(prices.empty()) return 0;
          int min = prices[0];
          int max = 0;
          for(int i = 1; i < prices.size(); i++){
              max = max_fun(prices[i]-min, max);      
            if(prices[i] < min) {
              min = prices[i];
            }
          }      
          return max;
        }
    };
    The Safest Way to Get what you Want is to Try and Deserve What you Want.
  • 相关阅读:
    jQuery 选择器
    DOM 文档对象模型+倒计时
    javascript简单写出国际象棋棋盘
    javascript循环语句及函数
    JAVASCRIPT基础
    用纯CSS做的图片切换
    项目练习总结
    用CSS做的简单弹窗
    CSS布局元素
    jQuery属性/CSS使用例子
  • 原文地址:https://www.cnblogs.com/Shinered/p/11400748.html
Copyright © 2011-2022 走看看