10000个数字中缺少三个数,编程找出缺少的三个数字。
算法实现:
/*生成10000个数中随机抽掉三个数后的数组*/ function supplyRandomArray(){
/*生成含有10000个数字的数组*/
var arr = [],n=10000;
for(var i=0;i<10000;i++){
arr.push(i+1);
}
/*使用数组对象的splice()方法随机删除三项*/
var num1 = arr.splice(Math.floor(Math.random()*arr.length),1);
var num2 = arr.splice(Math.floor(Math.random()*arr.length),1);
var num3 = arr.splice(Math.floor(Math.random()*arr.length),1);
document.write('随机抽掉的三个数是:'+num1+'和'+num2+'和'+num3+'<br/><br/>');
arr.sort(function(){
return Math.random()>0.6;
});
return arr;
}
/*生成结束*/ /*查找10000个数中丢失的数字*/ function getMissElem(arr){
var result = [], /*用于存放找到的丢失的数组元素的数组*/
obj = {}, /*对象字面量*/
len = arr.length;
for(var i=0;i<len;i++){
obj[arr[i]]=true;
}
for(var i=1;i<10000;i++){
if(!obj[i]){
result.push(i);
}
} return result;
}
/*查找结束*/ var arr = supplyRandomArray();
var missElem = getMissElem(arr);
document.write("丢失的数字为:"+missElem);
标记:我的代码是从网上学来的,如果恰巧是你的代码,如果你在意的话,请联系我。