반응형
leetcode.com/problems/gas-station/
class Solution:
def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:
n = len(gas)
total = current = 0
start = 0
for i in range(n) :
amount = gas[i] - cost[i]
total += amount
current += amount
if current < 0 :
current = 0
start = i+1
return -1 if total < 0 else start
노트 :
처음 접근 방식은 brute force로 start index를 바꿔가면서 체크하는 것이었음.
여기서 중요한 포인트는 굳이 n^2번 돌지 않아도 된다는 것.
가스 스테이션을 다 돌기 위해서는 어쨌든 gas의 모든 합이 cost의 모든 합보다 커야한다는 속성을 사용.
반응형
'0 > leetcode' 카테고리의 다른 글
914. X of a Kind in a Deck of Cards (0) | 2020.10.21 |
---|---|
41. First Missing Positive (0) | 2020.09.30 |
416. Partition Equal Subset Sum (0) | 2020.09.18 |
784. Letter Case Permutation (0) | 2020.09.10 |
55. Jump Game (0) | 2020.09.09 |