Sort by

recency

|

362 Discussions

|

  • + 0 comments
    def truckTour(petrol_pumps):
        start_index = 0
        total_liters = 0
        total_distance = 0
    
        for i in range(len(petrol_pumps)):
            liters, distance = petrol_pumps[i]
            total_liters += liters
            total_distance += distance
            # Arriving to next petrol pump
    
            if total_liters - total_distance < 0:
                # Initialize start index before restarting in start index
                start_index = i + 1
                total_liters = 0
                total_distance = 0
        
        return start_index
     
    
  • + 1 comment

    Imo this is very easy

    1. Loop through every pump
    2. Check if a pump has more petrol than the kilometer (1st condition)
    3. Test that pump. If during the tour, the remaining fuel >= 0 (2nd condition)
    4. Return index of the pump that passed 2 conditions note: remaining fuel = fuel - distance (kilometer)

    The challenge is how to test 2nd condition. If you want to test a pump number 2, than it need to go through [2 > 3 > 4 > 5 > 1] if there is 5 pumps. If during testing and that specific pump's remaining fuel get to below 0 than skip that pump

  • + 0 comments

    def truckTour(petrolpumps):

    petrolRest = [pump[0]-pump[1] for pump in petrolpumps] * 2
    
    for i in range(len(petrolpumps)):
    
        tank = 0
    
        for j in range(i, i + len(petrolpumps)):
    
            tank += petrolRest[j]
    
            if tank < 0: break     
    
        if tank < 0: continue
    
        else: return i
    
    return -1
    
  • + 0 comments

    Python Solution

    • def truckTour(petrolpumps):
    • fuel=0
    • pos=0
    • for i in range(len(petrolpumps)):
    • fuel+=petrolpumps[i][0]-petrolpumps[i][1]
    • if fuel<0:
    • fuel=0
    • pos=i+1
    • return pos
  • + 0 comments

    Who and how decides which question is how difficult? This question is definitely easy but it was marked as difficult :D