zoukankan      html  css  js  c++  java
  • [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;
        }
    };
  • 相关阅读:
    01.mp4v2应用—mp4转h264
    00.mp4v2工具的用法
    交叉编译x264和ffmpeg
    pcm2aac
    保存一下东西
    05.移植内核3.4.2
    04.移植u-boot
    03.应用程序调试
    关于 jxl 下载 excel (java)
    JXL 对excle 操作(单元格合并,列宽,格式等)
  • 原文地址:https://www.cnblogs.com/Xylophone/p/3849541.html
Copyright © 2011-2022 走看看