0843-393028730
13294165778
时间:2024-05-20 06:07:02
学弟小Y给我说,他头条面试两天没有消息,会不会是挂了。他说隔天就收到了面试体验观察问卷短信。我问了他面试的情况,他说他第一轮算法面试题没有做出来。
题目有一辆车在头条园区行驶,这段环形门路有N个加油站,其中气体在车站i是量是gas[i]。你有车有无限容量的气罐,从加油站i到下一个加油站站点i+1,要消耗cost[i]的气体。你开始旅程时,气罐是空的。
回到起始加油站的指数,选择一个起点开始旅游,如果你能在周围环形旅行一次,就返回开始的加油站索引,否则返回-1。只有一个解。
解题我们假设从站点i出发,到达某个站点就没油了,这个没油的站点设置为k。每段路气量的变化我们用数组d[]来表现,那么就有d[i]+d[i+1]+···+d[k]<0很显着,i到不了k,i+1也肯定到不了,所以再从k+1开始试就可以了。(如果从i+1能到k,而从i到不了k,那就说明i这个站加的油肯定都不够到i+1的,显然到不了i+1后面就更别提了)public int byteDanceCircuit(int[] gas, int[] cost) { // 起点 int begin = 0; // 总共加了几多油 int total = 0; // 从begin开始到i 油量 int less = 0; for(int i=0; i if(less < 0) { begin = i+1; total += less; less = 0; } } return total+less >= 0 ?begin : -1; }。 本文来源:澳门太阳集团官网www-www.bhwuming.com
本文关键词:澳门太阳集团官网www,棋牌娱乐www官方网址入口