zoukankan      html  css  js  c++  java
  • 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) {
            
            if(gas.size()!= cost.size())return -1;
            int size = gas.size();
            if(size == 0)
            return -1;
            vector<int> left(size,0);
            
            int sum = 0 ; 
            int min = 0 ;
            int min_sum =sum;
            for(int i = 0 ; i < size ;i++)
            {
                left[i] = gas[i] - cost[i];
                sum += left[i];
                if(sum < min_sum){
                    min = i;
                    min_sum = sum;
                }
            }
            if(sum < 0)return -1;
            sum = 0;
            int index = (min+1)%size;
            for(int  i = 0 ; i < size ;i++)
            {
                sum += left[index];
                index = (index+1)%size;
                if(sum<0)return -1;
            }
            return (min+1)%size;
        }
    };
    

      

  • 相关阅读:
    rails3 routes
    rails delete destroy difference
    ruby doc
    今天提交了一个patch开心,呵呵
    ruby collect map seems the function is the same?
    jquery closest
    rails 笔记
    网店系统
    rails脚本架命令及心得
    rails3 expericence
  • 原文地址:https://www.cnblogs.com/pengyu2003/p/3636039.html
Copyright © 2011-2022 走看看