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);
标记:我的代码是从网上学来的,如果恰巧是你的代码,如果你在意的话,请联系我。