vivo笔试(2020年3月8日)

一、投递信息

投递时间: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天生产手机的数量。
题目分析

  1. 先求出第n天生产多少台手机;
  2. 再求出第n天生产手机的数量重复了几次,比如第5天生产了3台手机,3这个数字也是在第4天生产的,所以第5天的3是重复了2次;
  3. 求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%的时候考试就快结束了,还是太菜。

发布了75 篇原创文章 · 获赞 4 · 访问量 3111

猜你喜欢

转载自blog.csdn.net/weixin_41796393/article/details/104744597