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

目錄

目錄
Bitnami