当前位置: 首页 > news >正文

力扣刷题134. 加油站

134. 加油站 - 力扣(LeetCode)

一开始的思路是循环每一次出发的位置,然后把数组进行拼接,如果能遍历完拼接的数组,则可以达到最开始的位置,但是在最后几个案例会超时,时间复杂度为o(N²)

留一下自己的代码

 public static int canCompleteCircuit(int[] gas, int[] cost) {
        int n = gas.length;
        int result = -1;
        for (int i = 0; i < n; i++) {
            int gasNum = gas[i];
            int j = i;
            while (gasNum - cost[j] >= 0) {
                gasNum = gasNum - cost[j] + gas[(j + 1) % n];
                j = (j + 1) % n;
                if(j==i)return i;

            }
        }

        return result;
    }

    public static int canCompleteCircuit(int[] gas, int[] cost) {
        int n = gas.length;
        for (int i = 0; i < n; i++) {
            int rest = gas[i] - cost[i];
            int index = (i + 1) % n;
            while (rest > 0 && index != i) {
                rest += gas[index] - cost[index];
                index = (index + 1) % n;
                //System.out.println(rest);
            }
            if (rest >= 0 && index == i) return i;
            System.out.println(i);
            if (index <= i) return -1;
            i = index - 1;
        }
        return -1;
    }

相关文章:

  • 将长上下文大语言模型研究从输入转向输出
  • Python爬虫入门实战:爬取博客文章数据并保存
  • #UVM# 关于 config_db 机制中的直线非直线设置和获取讲解
  • 《UE5_C++多人TPS完整教程》学习笔记35 ——《P36 武器类(Weapon Class)》
  • 软考 中级软件设计师 考点笔记总结 day01
  • 编程考古-Borland历史:《.EXE Interview》对Anders Hejlsberg关于Delphi的采访内容(中)
  • qt 操作多个sqlite文件
  • RuoYi框架添加自己的模块(学生管理系统CRUD)
  • 【VUE2】第三期——样式冲突、组件通信、异步更新
  • DeepSeek开启AI办公新模式,WPS/Office集成DeepSeek-R1本地大模型!
  • Spring Boot与Axon Framework整合教程
  • 南京SMT贴片加工核心工艺解析
  • 智慧城市智慧社区项目建设方案
  • 虚拟路由冗余协议(VRRP)技术详解:原理、应用与配置实践
  • 个人电脑本地部署DeepSeek来离线使用
  • 中小企业Windows双因素认证的“轻量化”安全解决方案
  • 在ArcMap中通过Python编写自定义工具(Python Toolbox)实现点转线工具
  • 出现“ping不通但可以远程连接”的情况可能由以下原因导致
  • 企业如何选择研发项目进度管理软件?盘点15款实用工具
  • Windows 系统 Docker Desktop 入门教程:从零开始掌握容器化技术
  • 做网站需要公司资质吗/百度问答官网
  • 网新中英企业网站管理系统/网络营销人员招聘
  • 企业做网站的注意什么问题/宁德市蕉城区
  • 公司网站建设设计公司哪家好/宁波网站快速优化
  • 广东微信网站建设哪家专业/个人网站的制作模板
  • 盐城网站建设厂商/360网站推广官网