Best time to Buy and Sell Stock I
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.
Ideas:
Just find the maximum difference, max (prices[j]–prices[i]), I < J. A single traversal, at the time of traversal with the minimum value of traverse low record prices[o....i], is the lowest price so far, the time complexity is O (n).
/** * @param {number[]} prices * @return {number}*/varMaxprofit =function(prices) {if(prices.length==0){ return0; } varN=prices.length,low=2147483647,ans=0; for(vari=0;i<n;i++){ if(prices[i]<Low ) { Low=Prices[i]; }Else if(prices[i]-low>ans) {ans=prices[i]-Low ; } } returnans;};
Best time to Buy and Sell Stock I
Topic:
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).
Ideas:
The difference between this question and the previous one is that there is no limit to the number of transactions. It is also a traversal, as long as you can make a trade.
/** * @param {number[]} prices * @return {number}*/varMaxprofit =function(prices) {varN=prices.length,res=0; if(n==0){ return0; } for(vari=1;i<n;i++){ if(prices[i]>prices[i-1]) {res+=prices[i]-prices[i-1] } } returnRes;};
"Array" best time to Buy and Sell Stock i/ii