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

    简介描述:

    假设有一个数组,它的第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
        } 
     

  • 相关阅读:
    c数据结构 顺序表和链表 相关操作
    查找字符串中是否存在指定的字符
    比较两人生日相差多少天
    十进制转化为二进制(栈算法)
    c数据结构栈的基本操作(字符逆序输出)
    Django笔记-登陆、注册(利用cookie实现)
    Django笔记-常见错误整理
    Django笔记-post与get方法相关出错记录
    Django笔记-登陆注册-1
    Django笔记-helloworld
  • 原文地址:https://www.cnblogs.com/Lichunling1/p/6518554.html
Copyright © 2011-2022 走看看