leetcode134. 加油站
生活随笔
收集整理的這篇文章主要介紹了
leetcode134. 加油站
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一:論語
二:題目
三:上碼(暴力解法超時(shí) 但方法二還是可以的)
// 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();//這里我們用此來實(shí)現(xiàn)我們的環(huán)周一圈 index表示數(shù)組下標(biāo)// while(num1 > 0 && index != i) { // num1 += gas[index] - cost[index]; // index = (index+1) % cost.size();//當(dāng)index+1 == cost.size()的時(shí)候 我們就回到了0起始點(diǎn) // }// if(num1 >= 0 && index == i) return i; // }// return -1; // } // };class Solution { public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {/**思路:1.如果我們的總油量大于消耗的油量 我們肯定可以是環(huán)繞一圈*/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) {//當(dāng)我們統(tǒng)計(jì)到 i 的時(shí)候 如果油量是負(fù)數(shù)的話,我們可以肯定的是不會(huì)環(huán)繞一圈start = i+1;cur = 0;}} if(sum < 0) return -1;return start;} };總結(jié)
以上是生活随笔為你收集整理的leetcode134. 加油站的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机QQ如何隐藏情侣空间功能
- 下一篇: 如何使用PS中的切片工具将图片切割