leetcode134. 加油站
生活随笔
收集整理的這篇文章主要介紹了
leetcode134. 加油站
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:論語
二:題目
三:上碼(暴力解法超時 但方法二還是可以的)
// class Solution { // public: // int canCompleteCircuit(vector<int>& gas, vector<int>& cost) { // /** // 思路:1.暴力解法,我們遍歷所有的元素 直到可以成功為止 否則返回-1; // */ // for(int i = 0; i < gas.size(); i++) { // int num1 = gas[i] - cost[i]; // int index = (i+1) % cost.size();//這里我們用此來實現我們的環周一圈 index表示數組下標// while(num1 > 0 && index != i) { // num1 += gas[index] - cost[index]; // index = (index+1) % cost.size();//當index+1 == cost.size()的時候 我們就回到了0起始點 // }// if(num1 >= 0 && index == i) return i; // }// return -1; // } // };class Solution { public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {/**思路:1.如果我們的總油量大于消耗的油量 我們肯定可以是環繞一圈*/int cur = 0;int sum = 0;int start = 0;for(int i = 0; i < gas.size(); i++) {cur += gas[i] -cost[i];sum += gas[i] -cost[i];if(cur < 0) {//當我們統計到 i 的時候 如果油量是負數的話,我們可以肯定的是不會環繞一圈start = i+1;cur = 0;}} if(sum < 0) return -1;return start;} };總結
以上是生活随笔為你收集整理的leetcode134. 加油站的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机QQ如何隐藏情侣空间功能
- 下一篇: 反射的基本知识(详解)