zoukankan      html  css  js  c++  java
  • 121. Best Time to Buy and Sell Stock

    Say you have an array for which the ith element is the price of a given stock on day i.

    If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.

    Example 1:

    Input: [7, 1, 5, 3, 6, 4]
    Output: 5
    
    max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)
    

     

    Example 2:

    Input: [7, 6, 4, 3, 1]
    Output: 0
    
    In this case, no transaction is done, i.e. max profit = 0.

    解题思路:

      之前一道的简单模式,想法有点相似。

    1. class Solution {  
    2. public:  
    3.     int maxProfit(vector<int>& prices) {  
    4.         if(prices.size()==0||prices.size()==1) return 0;  
    5.         int max_profit=0;  
    6.         int min_buyer =prices[0];  
    7.           
    8.         for(int i=1;i<prices.size();i++){  
    9.               
    10.          if(prices[i]-min_buyer>max_profit) max_profit=   prices[i]-min_buyer;  
    11.          if(prices[i]<min_buyer) min_buyer = prices[i];  
    12.               
    13.         }  
    14.         return max_profit;  
    15.     }  
    16. };  

    class Solution {public:    int maxProfit(vector<int>& prices) {        if(prices.size()==0||prices.size()==1) return 0;        int max_profit=0;        int min_buyer =prices[0];                for(int i=1;i<prices.size();i++){                     if(prices[i]-min_buyer>max_profit) max_profit=   prices[i]-min_buyer;         if(prices[i]<min_buyer) min_buyer = prices[i];                    }        return max_profit;    }};

  • 相关阅读:
    ESP8266 STA TCP 客户端配置并连接通信
    Modbus CRC16 校验计算函数
    自写简易版从机Modbus
    STM32CubeIDE查看内存使用情况
    WPF 样式Style
    WPF选项卡页面分离之Page调用Window类
    WPF 多个选项卡TabControl 页面分离
    STM32Cube IDE 汉字字体变小解决办法
    浮点数double相等性比较
    Ling应用
  • 原文地址:https://www.cnblogs.com/liangyc/p/8847833.html
Copyright © 2011-2022 走看看