各種面試題 環形加油站

2021-06-18 09:33:58 字數 484 閱讀 2038

有乙個環形公路上有n個加油站,第i個加油站的油量為ai

。假設有一輛郵箱體積無窮大的汽車,初始郵箱是空的,汽車從加油站i行駛到加油站i+1需耗油g[i]。

問是否能夠選出某個加油站作為起點,使汽車能夠繞環形公路行駛一圈返回到該加油站。

實現函式int selectgasstation(int a, int g, int n),如果存在滿足條件的加油站,返回該加油站的序號(0-based)。否則返回-1。

據說是google在08年的一道題,哎,好難啊,在面試時那麼幾分鐘我肯定想不出來的,哎。

主要就是變形成為查詢是否有乙個n長的字首和全大於0的序列。

#include using namespace std;

int selectgasstation(const vector&a, const vector&g)

} return -1;

}

《leetcode go》環形路加油站

環形路上有n個加油站,第i個加油站的汽油量是gas i 你有一輛車,車的油箱可以無限裝汽油。從加油站i走到下乙個加油站 i 1 花費的油量是cost i 你從乙個加油站出發,剛開始的時候油箱裡面沒有汽油。求從哪個加油站出發可以在環形路上走一圈。返回加油站的下標,如果沒有答案的話返回 1。注意 答案保...

微軟面試題 飛機加油

背景 一道關於飛機加油的問題,已知 每個飛機只有乙個油箱,飛機之間可以相互加油 注意是相互,沒有加油機一箱油可供一架飛機繞地球飛半圈。問題 為使至少一架飛機繞地球一圈回到起飛時的飛機場,至少需要出動幾架飛機?所有飛機從同一機場起飛,而且必須安全返回機場,不允許中途降落,中間沒有飛機場 1號2號 3號...

貪心演算法例項彙總(分糖果 加油站 面試排程)

大多數演算法都是基於四種演算法 1 貪心演算法 2 分而治之演算法 遞迴思想 3 動態規劃 4 暴力法 窮舉思想 貪心演算法核心思想 區域性最優 整體最優 對於乙個複雜問題,如果暫時找不到全域性最優解,就可以先把原問題拆成幾個小問題 分而治之 分別求每個小問題的最優解,再把 區域性最優解 疊加起來,...