Challenge
Implement maximum_profit(prices) for a list of non-negative integer daily prices. You may complete any number of buy-then-sell transactions, but hold at most one share at a time. You begin and end with no shares. There are no fees, short sales, or cooldowns; selling and buying again on the same day is allowed. Return the maximum total integer profit. Fewer than two prices returns 0. Aim for O(n).
Target complexity: O(n)
Return values are checked by type. Use the exact function name. Print output is not your answer. Tests have time and memory limits.
Public examples
Arguments
[[2, 5, 3, 8]]
Expected return
8
Arguments
[[7, 6, 4, 3, 1]]
Expected return
0
Hint
Which positive adjacent changes could you capture?
The worked solution unlocks after completion, or with Premium access.