LeetCode -- Best Time to Buy and Sell Stock II

题目描写叙述:


Say you have 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 may complete as many transactions as you like (ie, buy one and sell one share of the stock multiple times). However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).


就是给出一些天的股票价格。算出最大利润。

要求:在卖掉当前手中股票之前不能买下一次的股票。


因为题目的这个要求。本题的难度就减少了。仅仅须要在一次遍历中,推断下一次的价格是否比当前手里的价格高,高了就卖,算出差值就是利润,累加这个差值就能够了。


实现代码:





public class Solution {
    public int MaxProfit(int[] prices) {
        if(prices == null || prices.Length == 0){
		return 0;
	}
	
	var sum = 0;
	for(var i = 0; i < prices.Length - 1; i ++){
		sum += prices[i] < prices[i+1] ? prices[i+1]-prices[i] : 0;
	}
	
	return sum;
    }
}


原文地址:https://www.cnblogs.com/cynchanpin/p/7400925.html