一、投递信息
投递时间:2020年2月20日
岗位:软件工程师(前端方向)
工作地点:深圳
信息来源:vivo官网
回复时间:2020年3月6日
笔试时间:2020年3月8日 15:00-16:00
笔试平台:牛客网
二、笔试题型
3道编程题
三、回顾
第一题
生产手机,第1天生产1台手机,第2天、第3天分别生产2台手机,第4天、第5天、第6天分别生产3台手机,以此类推,求n天生产手机的数量。
题目分析
- 先求出第n天生产多少台手机;
- 再求出第n天生产手机的数量重复了几次,比如第5天生产了3台手机,3这个数字也是在第4天生产的,所以第5天的3是重复了2次;
- 求n天生产总和。
/**
*
* @param n int整型 第n天
* @return int整型
*/
function solution( n ) {
var a = 1; //第 n 天生产手机的数量
while(n > ((1+a)*a/2)){
a = a+1;
}
var x = function(i){
return (1+i)*i/2;
}
var sum = 0; // n 天生产手机的数量
for(var i=1;i<a;i++){
sum +=((1+a-1)*(a-1)/2)-x(i-1);
}
var num = n-((1+a-1)*(a-1)/2); // 第 n 天生产手机的数量重复了几次
sum += num * a;
return sum;
}
module.exports = {
solution : solution
};
第二题第三题忘了是啥了,也没怎么看,第一题通过率100%的时候考试就快结束了,还是太菜。