[关闭]
@ChuckIsReady 2018-04-08T08:20:55.000000Z 字数 815 阅读 607

腾讯4.5笔试

未分类


选择题涉及

C语言指针2道,
二叉树2道,
排序的复杂度2道,
原型链2道,
css相关没有,
http相关2道,
cookie和缓存两道,
eval那些会导致不安全的因素 2道
数据库1道

编程题
1. 一个nxm的画板 上面有接近斜率1和-1留下的画笔痕迹,没画的是X,左倾斜的横线划过的是B,右倾斜划过的是Y,都划过的地方是G,给你矩阵,求最少几笔画出
BXXYX
XBYXX
XYBGY
YXXBX

不会做

2.有m个饼,吃n天,第二天至少吃昨天吃的一半的饼的个数,不能有哪天没饼吃,求第一天最多吃几个饼?

做出来本地通过上面过不了

  1. //本地代码
  2. var n=4;
  3. var m=10000
  4. print = function(str){console.log(str)}
  5. var i =0;
  6. var max = parseInt((m+1)/2);
  7. for(var i = max; i>0;i--){
  8. var temp = i;
  9. for(var j =1;j<n;j++){
  10. temp/=2;
  11. temp=parseInt(temp);
  12. }
  13. if(temp>=1) {print(i);break;}
  14. }

3.有n张牌,存储在m数组中,牛牛和羊羊一人一张,假设牛先抽,牛羊都采取最佳策略,请问最后牛羊的牌的数值相差是多少

90%通过,检查了不是只有一张牌的情况,也不是奇数偶数的情况,不明白

  1. //本地代码
  2. n = 3,arg=[2,6,7]
  3. arg.sort(function(a,b){return a-b});
  4. console.log(arg)
  5. sum = 0;
  6. isNiu = 1;
  7. tempVal =0;
  8. for(var i = n-1;i>=0;i--){
  9. if(isNiu){
  10. tempVal = arg[i];
  11. isNiu =0;
  12. console.log(sum);
  13. }
  14. else {
  15. sum+=(tempVal-arg[i]);
  16. isNiu =1;
  17. tempVal =0;
  18. console.log(sum);
  19. }
  20. }
  21. sum+= tempVal;
  22. console.log(sum)
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注