Topic:
Say you has an array for which the i-th element is the price of a given-stock on day I.
If you were-permitted-to-complete at most one transaction (ie, buy one and sell one share of the stock), design an AL Gorithm to find the maximum profit.
Analytical:
Greedy method, find the lowest and highest price of the day, the low into the higher, note the lowest day before the highest day.
Turning the original price sequence into a differential sequence, the subject can also be the maximum m sub-segment and, M = 1.
1 classSolution2 {3 Public:4 intMaxprofit (vector<int> &prices)5 {6 if(Prices.size () <2)return 0;7 intProfit =0;//spreads, i.e. profits8 intCur_min = prices[0];//Current Minimum9 for(inti =1; I < prices.size (); i++)Ten { OneProfit = Max (Profit, Prices[i]-cur_min); ACur_min =min (cur_min, prices[i]); - } - returnprofit; the } -};
best time to Buy and Sell Stock