diff --git a/kotlin/309-Best-Time-to-Buy-and-Sell-Stock-with-Cooldown.kt b/kotlin/309-Best-Time-to-Buy-and-Sell-Stock-with-Cooldown.kt new file mode 100644 index 000000000..edb1e3bd1 --- /dev/null +++ b/kotlin/309-Best-Time-to-Buy-and-Sell-Stock-with-Cooldown.kt @@ -0,0 +1,15 @@ +class Solution { + fun maxProfit(prices: IntArray): Int { + var sold = 0 + var hold = Int.MIN_VALUE + var rest = 0 + + for (i in 0..prices.size-1) { + val prevSold = sold + sold = hold + prices[i] + hold = maxOf(hold, rest - prices[i]) + rest = maxOf(rest, prevSold) + } + return maxOf(sold, rest) + } +} \ No newline at end of file