我的代码,一直有点问题

class Solution {public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {int n = gas.size();vector<int> diff(n, 0);for (int i = 0; i < n; i++){diff[i] = gas[i] - cost[i];}int sum = accumulate(diff.begin(), diff.end(), 0);if (sum >= 0){if (n == 1)return 0;for (int i = 0; i < n; i++){if (diff[i] > 0){if (i < n-1 && diff[i] + diff[i+1] >= 0){return i;}else if(i == n-1){return n-1;}}}//return i = (max_element(diff.begin(), diff.end()) - diff.begin());}return -1;}
};

这个测试用例真的搞不掂
[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66]
[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]

关于如何找起始位置我没有想明白,关于判断能不能走完一圈倒是想明白了。

class Solution {public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {int curSum = 0;int totSum = 0;int start = 0;for (int i = 0; i < gas.size(); i++){totSum += (gas[i] - cost[i]);curSum += (gas[i] - cost[i]);if (curSum < 0){start = i+1;curSum = 0;}}if (totSum < 0){return -1;}return start;}
};

我的范围判断局限了,我只判断了两个,其实是从这一点开始之后都需要判断。

2022-5-25 Leetcode 134.加油站相关推荐

  1. 用java写一个汽车加油的程序_Java实现 LeetCode 134 加油站

    134. 加油站 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升 ...

  2. LeetCode 134. 加油站(贪心)

    文章目录 1. 题目 2. 解题 1. 题目 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要 ...

  3. LeetCode 134 加油站 全面详细题解【持续更新所有解法】

    题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/gas-station 著作权归领扣网络所有.商业转载请联系官方授权,非商业转载请注明出处. ...

  4. Leetcode 134. 加油站 解题思路及C++实现

    方法一:直接暴力方法 解题思路: 当 gas[i] >= cost[i] 时,这个加油站才可能是个出发点,遍历gas容器(数组),当出现 gas[i] >= cost[i] 时,看看以这个 ...

  5. 168. Leetcode 134. 加油站 (贪心算法-模拟题目)

    class Solution:def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:cur_rest_acc ...

  6. leetcode 134. 加油站(Gas Station)

    目录 题目描述: 示例 1: 示例 2: 解法: 题目描述: 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+ ...

  7. leetcode 134. 加油站 思考分析

    目录 题目 1.暴力法,双层遍历 2.贪心 题目 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站 ...

  8. leetcode 134. 加油站

    在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其中的一个加 ...

  9. LeetCode 134. 加油站(C++)

    在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其中的一个加 ...

最新文章

  1. 【numpy学习笔记】数组的切片,索引,迭代
  2. 回顾 | 2018年十大AI新闻 中国继续占据主导优势
  3. python转cython_用Cython加速Python到“起飞”(推荐)
  4. 长沙理工大学计算机系教师,长沙理工大学数学与计算机科学学院导师介绍:王晚生...
  5. 浏览器解析编码优先级
  6. VC使用编译时间作为版本号
  7. wpf项目中类库内新建用户控件和自定义控件的问题
  8. C# 如何在空间运行时调整控件位置和大小
  9. 使用Python定制词云
  10. uniapp某个页面高度占满写法
  11. 中外大学及大学生活面貌的实录(计算机专业大一学生有感网摘记录) (原创,2013年2月21日不断更新中)...
  12. Android Studio汉化版教程
  13. 企业级负载均衡LVS集群——DR模式下的(加权)轮询调度器、DR模式下的健康检测(ldirectord)
  14. iOS程序上架到appStore/已上线软件升级更新教程
  15. 每个月3000结余,买余额宝好还是基金定投好?
  16. mumu模拟器崩坏3分辨率_网易mumu模拟器设置崩坏3不卡的方法
  17. python第三方库bs4库实例之爬取古诗词网上诗歌
  18. 网络安全能力认证CCSC管理Ⅰ级认证
  19. 【OR】YALMIP 指数锥规划
  20. 职业生涯的7个发展阶段及如何在每个阶段成功?

热门文章

  1. Elmedia Player Pro for Mac(万能视频播放器)
  2. php 百度sitemap changefreq,php实现百度sitemap实时推送
  3. 在Cordova中自定义AndroidTest(Instrumented Unit Test)
  4. 数据透视表(图)中添加公式计算与汇总--计算项和计算字段
  5. Android编程心得---捕捉Home键事件的完美解决方法
  6. 智能电池巡检箱监控系统方案
  7. 现代微积分的公理系统
  8. 牛客挑战赛34 A.能天使的愿望(分组背包)
  9. WebGPU学习(4)---使用 UniformBuffer
  10. 基于 java的停车场智能管理系统