题目描述
假定你知道某只股票每一天价格的变动。
你最多可以同时持有一只股票。但你可以无限次的交易(买进和卖出均无手续费)。
请设计一个函数,计算你所能获得的最大收益。
解题思路
- 其实只要把每一天和前一天的股价相减,为正整数则统计即可。
Java代码实现
public int maxProfit (int[] prices) { if (prices == null || prices.length <= 1) return 0; int sum = 0; for (int i = 1; i < prices.length; ++i) { int gap = prices[i] - prices[i-1]; if (gap > 0) sum += gap; } return sum; }