• [LeetCode] Gas Station


    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.

    Note: The solution is guaranteed to be unique.

    class Solution {
    public:
      
    int canCompleteCircuit(vector<int> &gas, vector<int> &cost) {
            int num = gas.size();
            int remain = 0;//从第一站开始到本站剩余的gas量
            int start = 0;
            for(int i = 0;i<num;)
            {
               if(cost[i]>gas[i])
               {
                  i++;
                  continue;
               }
               else
               {
                  start = i;//标记开始站
                  remain = gas[i]-cost[i];
                  i++;
                  while(i<num &&gas[i]+remain >= cost[i])
                  {
                     remain = (gas[i]+remain - cost[i]);
                     i++;
                  }
                  if(i == num)
                  {
                    i = 0;
                  }
                  else
                  {
                    start = i+1;
                    i = start;
                    continue;
                  }
    
                  while(gas[i]+remain >= cost[i] && i<start)
                  {
                     remain = (gas[i]+remain - cost[i]);
                     i++;
                  }
                    if(i == start)
                  {
                     return start;
                  }
                  else
                  {
                    return -1;
                  }
               }
            }//end for
            return -1;
        }
    };
  • 相关阅读:
    toString的本质 以及String.valueOf()
    css3选择符
    HTML5标签
    css3-动画
    2D功能函数
    css过度
    css渐变
    BFC-块级格式化上下文
    表单补充
    表格补充:
  • 原文地址:https://www.cnblogs.com/Xylophone/p/3849541.html
Copyright © 2020-2023  润新知