腾讯前端面试给出一组数字,从1到n,从中减少了3个数,顺序也被打乱,放在一个n-3的数组里
请找出丢失的数字,最好能有程序,最好算法比较快
假设n=10000
其实这个问题主要的重点在于是在连续的1到10000之间剔除3个数字,事实上它依然可以看做是连续的,所以给连续的无序数组排序最简单的就是
for(var i=0; i
newarr[arr[i]]=arr[i];
}
而不是其他排序方法,也就是说,这道题考的不是编程能力,是思考能力,楼上我没仔细看过,但是想来没有多少人想到这点,大家都想用最简单的算法来做,有点舍近求远了
腾讯这个网页设计前端题目已经说的很清楚了,这是一道面试问题没有说具体实际中哪块工作会用到,可能考的就是你的网页设计目前比较流行的JS能力,HTML5趋势用到的最前沿的JS技术越来越多,从小学到大学,学的知识,实际生活真正一对一用到有几个?没一对一用到你就不学了?
我为了测试更加准确,所以我把数据处理量提高到10W。
只要涉及到程序,就需要算法,前端怎么就不能拿算法说事了?
腾讯面试题
var delNumber = [1106,9012,789]; //假设
var n = 10000; //总循环条例
var number = []; //数组
for (i=0;i
number[i] = (i != delNumber[0] && i != delNumber[1] && i != delNumber[2])?(i):("
"+i+"
");}
function randomSort(a, b){
return Math.random() - 0.5; //随机运算
}
document.write("本次的随机数是:" + delNumber + "
");
document.write(number.sort(randomSort).join()); //选择在外面处理数组,减缓for的压力。
本文网址:http://www.mzwkj.com/baike/863.html
济南梦之网科技:济南网站建设,济南网站设计公司,网站建设开发公司,专业网站制作公司,拥有专业的技术团队,一流的服务团队.专业团队为您提供网站设计,网站定制服务,公众号应用开发,微信小程序开发,为用户提供成套解决方案,智能农业物联网系统