zoukankan      html  css  js  c++  java
  • leetcode17gas-station

    题目描述

    环形路上有n个加油站,第i个加油站的汽油量是gas[i].
    你有一辆车,车的油箱可以无限装汽油。从加油站i走到下一个加油站(i+1)花费的油量是cost[i],你从一个加油站出发,刚开始的时候油箱里面没有汽油。
    求从哪个加油站出发可以在环形路上走一圈。返回加油站的下标,如果没有答案的话返回-1。
    注意:
    答案保证唯一。

    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.

    输入

    [2,3,1],[3,1,2]

    输出

    1
    
    class Solution {
    public:
        /**
         *
         * @param gas int整型vector
         * @param cost int整型vector
         * @return int整型
         */
        int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
            // write code here
            int  start=gas.size()-1;
            int end=0;
            int sum=gas[start]-cost[start];
            while (start>end)
            {
                if (sum>=0){
                    sum+=gas[end]-cost[end];
                    ++end;
                    
                }else {
                    --start;
                    sum+=gas[start]-cost[start];
                }
            }
            return sum>=0 ?start:-1;
            
        }
    };









  • 相关阅读:
    什么叫大数据,与云计算有何关系?
    基于TI 多核DSP 的大数据智能计算处理解决方案
    加固智能计算异构服务器
    Kintex7 XC7K325T 板卡五兄弟
    英伟达GPU 嵌入式开发平台
    NVIDIA Jetson™ TX1 Module
    Linux 高性能服务器编程——多线程编程
    Linux 高性能服务器编程——多进程编程
    Linux 高性能服务器编程——I/O复用的高级应用
    Linux 高性能服务器编程——I/O复用
  • 原文地址:https://www.cnblogs.com/hrnn/p/13428225.html
Copyright © 2011-2022 走看看