class Solution {public: int arr[100001]; int canCompleteCircuit(vector<int>& gas, vector<int>& cost) { vector<int> v; for(int i=0;i<gas.size();i++) v.push_back(gas[i]-cost[i]); long long mini = v[0];int m_idx = 0;int s = v.size(); for(int i=0;i<s;i++){ if(i==0){ arr[0]=v[0];continue; } arr[i]=arr[i-1]+v[i]; if(arr[i]<mini){ mini = arr[i];m_idx = i; } } int ans = -1; if(arr[s-1]>=0) ans = (m_idx+1)%s; return ans; }};gas[i]-cost[i] 의 누적합의 최소값의 idx 를 찾아서 idx+1 인 곳 이 정 답 이네요!(cost[i]가 i-1th 에서 도달하기 위한 비용인줄알고 헤맸음)
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.