Topic
say you had an array for which The ith 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). /span>
Method
And the difference between the topic one is: can buy and sell multiple times.
This allows the title to be converted to solve all ascending line segments, only if the ascent increases to Maxpro. The adjacent two numbers are poor and the result is greater than 0. to the Maxpro.
PS: It is also possible to solve the continuous increment first. In the seeking of the poor.
public int Maxprofit (int[] prices) { if (prices = = null) { return 0; } int len = prices.length; if (len = = 0 | | len = = 1) { return 0; } int maxprofit = 0; for (int i = 1; i < Len; i++) { int temp = prices[i]-prices[i-1]; if (Temp > 0) { Maxprofit + = temp; } } return maxprofit; }
best time to Buy and Sell Stock II