Leetcode # 2361. Minimum Costs Using the Train Line
https://leetcode.com/problems/minimum-costs-using-the-train-line
Solution
- n := len(regular) == len(express)
- prev[0/1] := 前一站為止留在 regular/express 車廂上的最小 cost
Time Complexity: O(n)
Space Complexity: O(1)
(The input and output generally do not count towards the space complexity.)
class Solution:
def minimumCosts(self, regular: List[int], express: List[int], expressCost: int) -> List[int]:
prev = [0, expressCost]
costs = [0 for _ in range(len(regular))]
for i in range(len(regular)):
next_r = regular[i] + min(prev[1], prev[0])
next_e = express[i] + min(prev[1], prev[0] + expressCost)
prev = [next_r, next_e]
costs[i] = next_r if next_r < next_e else next_e
return costs
Last Updated on 2023/08/16 by A1go