您好!欢迎访问海德体育!
专注精密制造10载以上
专业点胶阀喷嘴,撞针,精密机械零件加工厂家
联系方式
094-61277120
您当前的位置: 主页 > 案例展示 > 医疗行业 >

医疗行业

【面试】记一次ByteDance后台研发算法题:海德体育官网app下载

更新时间  2022-10-01 01:35 阅读
本文摘要:学弟小Y给我说,他头条面试两天没有消息,会不会是挂了。他说隔天就收到了面试体验观察问卷短信。我问了他面试的情况,他说他第一轮算法面试题没有做出来。 题目有一辆车在头条园区行驶,这段环形门路有N个加油站,其中气体在车站i是量是gas[i]。你有车有无限容量的气罐,从加油站i到下一个加油站站点i+1,要消耗cost[i]的气体。你开始旅程时,气罐是空的。回到起始加油站的指数,选择一个起点开始旅游,如果你能在周围环形旅行一次,就返回开始的加油站索引,否则返回-1。 只有一个解。

海德体育官网

海德体育官网

学弟小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<gas.length; i++) { less += gas[i] - cost[i]; // 油不够了,i不能做起始点; // 且i ~ k 都不行做起始点。if(less < 0) { begin = i+1; total += less; less = 0; } } return total+less >= 0 ?begin : -1; }。


本文关键词:海德体育,【,面试,】,记,一次,ByteDance,后台,研发,算法

本文来源:海德体育-www.wfbiaoqian.com