码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 134. 加油站


    Powered by:NEFU AB-IN

    Link

    文章目录

    • 134. 加油站
      • 题意
      • 思路
      • 代码

    134. 加油站

    • 题意

      在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。
      你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。
      给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。

    • 思路

      假设i为起点,且i最多不能走到j,结论:[i, j]之前任意起点也 不能走到j
      证明:k是可以走到的,所以left[k] >= 0(即从左边走过来还剩下有油)。 如果把k当作起点即left[k]=0,那么还是走不到j,所以下一次枚举起点,可以直接跳过[i- j],O(n)

    • 代码

      class Solution {
      public:
          int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
              int n = gas.size();
              for (int i = 0, j; i < n; ) {  // 枚举起点
                  int left = 0;
                  for (j = 0; j < n; j ++ ) {
                      int k = (i + j) % n;
                      left += gas[k] - cost[k];
                      if (left < 0) break;
                  }
                  if (j == n) return i;
                  i = i + j + 1;
              }
      
              return -1;
          }
      };
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
  • 相关阅读:
    今年 A-Level 大考压分?成绩不理想怎么办?
    React之服务端渲染
    MOOC_Java进阶_翁恺讲_第三周题
    稳定性总结
    基于STM32+OneNet设计的GPS定位器(ESP8266)
    @vue/cli3--使用命令创建项目--方法/实例
    SQL面试题练习 —— 满足连续5天以上每天上涨超过5%的股票
    tinymce 开启骨架屏(skeletonScreen) 优化加载体验
    Jackson ImmunoResearch 直接和间接蛋白质印迹方案
    关于const的用法简单举列子介绍
  • 原文地址:https://blog.csdn.net/qq_45859188/article/details/132901205
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号