zoukankan      html  css  js  c++  java
  • Gas Station

    Question:

    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.

    Solution:

     1 class Solution {
     2 public:
     3     int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
     4     int sum=0;
     5     int index;
     6     bool flag=false;
     7     int count=0;
     8     for(int i=0;count<=gas.size();i++)
     9     {
    10         if(flag==false)
    11             index=i;
    12         flag=true;
    13         if(i<gas.size())
    14             sum+=gas[i]-cost[i];
    15         else
    16             sum+=gas[i-gas.size()]-cost[i-gas.size()];
    17         count++;
    18         if(sum<0)
    19         {
    20             flag=false;
    21             sum=0;
    22             count=0;
    23         }
    24         if(count==gas.size()) return index;
    25         if(i>=2*gas.size()-1) {return -1;}
    26     }
    27     }
    28 };

  • 相关阅读:
    ASP.NET面试题2
    [转]深入.NET DataTable
    C#操作Excel (转)
    XML操作大全
    j2sdk 好用了
    我对“重构(refector)”的看法
    成功执行
    java属性类(Properties类)
    Sharpdevelop下载
    POJ 1753 Flip Game(翻转棋盘+枚举+dfs)
  • 原文地址:https://www.cnblogs.com/riden/p/4631587.html
Copyright © 2011-2022 走看看