best time to Buy and Sell Stock II
Question Solution
Say you had an array for which the ith element was 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).
Solution:
Since we want to maximize our profits, we should take all the appreciation part of the stock. From the beginning to the last stock may have a rise and fall, then, we put each appreciation of the range of profit added together is the maximum value.
That is, each time you compare the value of the previous day and the previous one, if it is up, add the difference.
1 Public classSolution {2 Public intMaxprofit (int[] prices) {3 if(Prices = =NULL) {4 return0;5 }6 7 intMaxprofit = 0;8 9 intLen =prices.length;Ten for(inti = 1; i < Len; i++) { One intDIF = prices[i]-prices[i-1]; A - if(Dif > 0) { -Maxprofit + =dif; the } - } - - returnMaxprofit; + } -}
View Code
GitHub Code Links
Leetcode:best time to Buy and Sell Stock II problem Solving report