买卖股票的最佳时机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了买卖股票的最佳时机相关的知识,希望对你有一定的参考价值。

简介描述:

假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。

样例

代码:(在VS环境里并没有运行出来,不知道问题出现在哪了)

#include "stdafx.h"
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
 class Solution { 
public: 
 
    int maxProfit(vector<int> &prices) { 
      if(prices.size() == 0){          //时刻注意数组越界 
            return 0; 
        }                              //若prices内没有元素,则返回0
          int max = 0;                 //定义并使最大利润的初始值为0
        int cur = prices[0]; 
        for(int a = 0; a < prices.size(); ++a)        //进行for循环
  { 
           if(prices[a] < cur)
     {                           //对买股票的价格和卖出股票的价格进行比较
               cur = prices[a];        
     }
     else{                      
                int t = prices[a] - cur; 
                if( t > max){ 
                   max = t; 
                }                     //通过媒介进行比较赋值传递
            } 
        } 
        return max;                   //输出最大利润max
    } 
 

以上是关于买卖股票的最佳时机的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode ---- 买卖股票系列问题思路与题解

代码随想录算法训练营第四十九天| 121 买卖股票的最佳时机 122 买卖股票的最佳时机II

4、爬楼梯、买卖股票的最佳时机、最大子序和、打家劫舍

动态规划之买股票问题

买卖股票的最佳时机

买卖股票的最佳时机