沿着循环路线有N个加油站,其中i站的天然气量是[i]。你有一辆带有无限气罐的汽车,并且它的费用是从i站到我的下一站(i + 1).如果您可以绕电路行驶一次,则返回起始站索引

217 篇文章 0 订阅
174 篇文章 2 订阅

本题源自LeetCode

=--------------------------------------------------------------------------------------

1 定一个起始站start

2 如果油量充足就向前走 end++  否则就倒退一站。

3 记录每站的消耗,不浪费已经遍历过的

从尾开始


    int canCompleteCircuit(vector<int> &gas, vector<int> &cost) {
        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;
    }

从头开始

    int canCompleteCircuit(vector<int> &gas, vector<int> &cost) {
        int len=gas.size();
        int remain=0;
        int sum=0;
        int index=0;
        for(int i=0;i<len;i++){
            sum += gas[i]-cost[i];
            remain += gas[i]-cost[i];
            if(remain<0){
                //表示这站到不了下一站,则结果可能是下一站
               index=i+1;
                remain=0;
            }
        }
        return sum>=0 ? index:-1;
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于电脑上的 "Enter" 键无法发送消息的问题,可能有几种可能的原因和解决方法: 1. 软件问题:首先,确保你正在使用的对话软件或平台支持 "Enter" 键发送消息的功能。有些应用程序可能使用其他按键或按钮来发送消息。检查软件设置或查看帮助文档以确认正确的发送消息方法。 2. 键盘设置:有时候,键盘设置可能会导致 "Enter" 键无法发送消息。你可以尝试以下步骤: - 检查键盘布局:确保你的键盘布局设置正确。有些国家或地区使用不同的键盘布局,可能会导致 "Enter" 键的功能不同。在操作系统的设置中检查键盘布局选项,并确保选择了正确的布局。 - 检查键盘驱动程序:更新键盘驱动程序可能会解决一些键盘相关的问题。你可以尝试在设备管理器中找到键盘设备,右键点击并选择 "更新驱动程序" 以获取最新的驱动程序。 3. 硬件问题:如果以上方法都无效,那么可能是键盘本身存在问题。你可以尝试以下步骤: - 清洁键盘:键盘上的灰尘和污垢可能导致按键无法正常工作。使用压缩气罐或小刷子等工具清洁键盘,然后再次尝试发送消息。 - 更换键盘:如果清洁无效,那么可能需要更换键盘。购买一个新的键盘,并确保与电脑兼容。 如果以上方法都无效,那么可能需要进一步检查你的电脑硬件或寻求专业技术支持。希望以上信息对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值