Problem

There are N gas stations along a circular route, where the amount of gas at station i is gas[i].

You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from station i to its next station (i+1). You begin the journey with an empty tank at one of the gas stations.

Return the starting gas station's index if you can travel around the circuit once, otherwise return -1.

JavaScript Code

function canCompleteCircuit(gas, cost) {
    var sumRemaining = 0; // track current remaining
    var total = 0; // track total remaining
    var start = 0; 
 
    for (var i = 0; i < gas.length; i++) {
        var remaining = gas[i] - cost[i];
 
        //if sum remaining of (i-1) >= 0, continue 
        if (sumRemaining >= 0) { 
            sumRemaining += remaining;
        //otherwise, reset start index to be current
        } else {
            sumRemaining = remaining;
            start = i;
        }
        total += remaining;
    }
 
    if (total >= 0){
        return start;
    }else{
        return -1;
    }
}
console.log(canCompleteCircuit([1,2,3,4,5],[1,3,2,4,5]));

2 comments:

  1. 1-HEXADECYL-3-METHYLIMIDAZOLIUM BIS(TRIFLUOROMETHYLSULFONYL)IMIDE - Alfa Chemistry is a global leader in the field of ionic liquids. We have the ability to help developers solve the challenges of ionic liquids in various applications. Alfa Chemistry believes that partnerships will change the way the world innovates, bringing new technologies.

    ReplyDelete
  2. pressure pump - Alfa Chemistry offers a wide range of user-friendly pumps specifically designed to manipulate fluids in microfluidic systems. Our pumps use unique technology to help quickly evaluate your microfluidic concept and speed up research time. You can choose a pressure pump, piezoelectric pump, peristaltic pump or syringe pump to get the best flow rate for your application.

    ReplyDelete

Blogroll

Popular Posts