Add max(0, prices[i] − prices[i − 1]) for every i.
Approach 1
class Solution {
public int maxProfit(int[] prices) {
int profit = 0;
for (int i = 1; i < prices.length; i++) profit += Math.max(0, prices[i] - prices[i - 1]);
return profit;
}
}
Verdict: The state machine collapses to this.
Before you submit
Edge cases and common mistakes
Test these inputs
Falling prices (0)
Flat prices
Mistakes people make
Only trading once between the global minimum and maximum.