题目
思路
- 贪心算法,一次遍历,只要今天价格小于明天价格就在今天买入然后明天卖出
- DP动态规划,第i天只有两种状态,不持有或持有股票,当天不持有股票的状态可能来自昨天卖出或者昨天也不持有,同理,当天持有股票的状态可能来自昨天买入或者昨天也持有中,取最后一天的不持有股票状态就是问题的解
代码
public int maxProfit(int[] prices) {if (prices.length == 0) return 0;int profix = 0, prev = prices[0];for (int i = 1; i < prices.length; i++) {if (prices[i] > prev) {profix += prices[i] - prev;;prev = prices[i];} else {prev = Math.min(prev, prices[i]);}}return profix;}
