37.加油站

題目描述:

加粗樣式

代碼實現:

  • 貪心算法,設置一個sum來計算gas是否大於等於cost,再設置一個curSum來判斷從哪裏爲起始點,並設置爲startIndex,最終得出結果。
  • 時間複雜度:O(n)
/**
 * @param {number[]} gas
 * @param {number[]} cost
 * @return {number}
 */
var canCompleteCircuit = function(gas, cost) {
    var sum = 0, curSum = 0, startIndex = 0
    for (var i = 0; i < gas.length; i++ ) {
        sum += gas[i] - cost[i]
        curSum += gas[i] - cost[i]
        if (curSum < 0) {
            curSum = 0
            startIndex = i + 1
        }
    }
    return sum >= 0 ? startIndex : -1
};

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章