zoukankan      html  css  js  c++  java
  • [LeetCode] Best Time to Buy and Sell Stock Solution

    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.

    [Thought] 

    Using greedy algorithm to solve this problem . Scan from left to right , and keep track the minimum price . If the difference between the minimum value and price is bigger than the profit , replace it.

    public class Solution {
        public int maxProfit(int[] prices) {
            if(prices.length == 0)
                return 0;
                
            int profit = 0;
            int min = prices[0];
            for(int i=0;i<prices.length;i++){
                if(prices[i]<min){
                    min = prices[i];//keep track the minimum value
                }else{
                    if(prices[i] - min > profit){//if the difference between price[i] and minimum price is bigger than profit , replace it.
                        profit = prices[i]-min;
                    }
                }
            }
            return profit;
        }
    }
  • 相关阅读:
    WinForm被遮挡的控件解决方案
    IC卡资料
    水晶报表2008部署
    打造最强的VC6
    SqlServer Case
    using namespace std
    非接触式IC智能(射频)卡
    删除VS2005插件

    SQLServer2005数据库自动备份
  • 原文地址:https://www.cnblogs.com/andrew-chen/p/4218143.html
Copyright © 2011-2022 走看看