LeetCode: Gas Station

这题跟前面做过的一题挺像

 1 class Solution {

 2 public:

 3     int canCompleteCircuit(vector<int> &gas, vector<int> &cost) {

 4         // IMPORTANT: Please reset any member data you declared, as

 5         // the same Solution instance will be reused for each test case.

 6         int leftsum, sum, beg;

 7         beg = sum = leftsum = 0;

 8         for (int i = 0; i < gas.size(); i++) {

 9             sum += gas[i] - cost[i];

10             if (sum < 0) {

11                 leftsum += sum;

12                 sum = 0;

13                 beg = i + 1;

14             }

15         }

16         if (sum + leftsum >= 0) return beg;

17         else return -1;

18     }

19 };

 C#

 1 public class Solution {

 2     public int CanCompleteCircuit(int[] gas, int[] cost) {

 3         int leftSum = 0, sum = 0, beg = 0;

 4         for (int i = 0; i < gas.Length; i++) {

 5             sum += gas[i] - cost[i];

 6             if (sum < 0) {

 7                 leftSum += sum;

 8                 sum = 0;

 9                 beg = i + 1;

10             }

11         }

12         if (sum + leftSum >= 0) return beg;

13         else return -1;

14     }

15 }
View Code

 

你可能感兴趣的:(LeetCode)