[LeetCode]134. 加油站(java实现)贪心、双指针
[LeetCode]134. 加油站(java实现)贪心、双指针
1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结
1. 题目
2. 读题(需要重点注意的东西)
思路(贪心、双指针): 由于是走一圈,我们将加油站复制一遍放到原加油站数组后,起点start从第1个加油站遍历到第n个加油站,如果end - start + 1 == n,则说明能够走一圈。
首先用每个位置的 gas 减去 cost 求出当前位置的真正花费 sum,然后将 sum 数组扩展为 2n,使得sum[i + n] = sum[i]定义两个指针 start 和 end,分别表示当前的起点,和在这个起点下能走到的终点,tot 为当前油量,当在某一个节点tot < 0时,说明达到了终点如果end - start + 1 == n,返回true否则s
共有 0 条评论