I question
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.
Subscribe to see which companies asked this question
Solution: Using the Dynamic programming method, iterate the array to update the current minimum value, and compare the current value minus the minimum value with the current maximum profit to update the maximum profit.
Public classSolution { Public intMaxprofit (int[] prices) { if(Prices = =NULL|| Prices.length = = 0) { return0; } intMin =Integer.max_value; intProfit = 0; for(inti:prices) {min=math.min (min, i); Profit= Math.max (I-min, profit); } returnprofit; }}
Ii
Say you has an array for which the i-th element is the price of a given-stock on day I.
Design an algorithm to find the maximum profit. You could complete as many transactions as (ie, buy one and sell one share of the stock multiple times). However, engage in multiple transactions for the same time (ie, you must sell the stock before you buy again).
Subscribe to see which companies asked this question
Solution: Using greedy algorithm, record the difference between two days, greater than zero is added to the total profit.
Public classSolution { Public intMaxprofit (int[] prices) { intProfit = 0; for(inti = 0; i < prices.length-1; i++) { intPro = Prices[i + 1]-Prices[i]; if(Pro > 0) {Profit+=Pro; } } returnprofit; }}
best time to Buy and Sell stock Series