↓ 2 callersMethodmaxProfitOptDP, bottom-up, O(kn) Time, O(n) Space If k >= n/2, we can have transactions any time, O(n). dp[k][i+1] represents the max profit of using [0, i] and k
src/main/java/com/freetymekiyan/algorithms/level/hard/BestTimeToBuyAndSellStock4.java:46