javascript算法学习

   有1到100000共10万个数。从中随机抽走两个。再把原来的数字顺序打乱。如何快速找到被抽走的两个数

    

<!doctype html>
<html>
<head><title>排序</title></head>
<body>
<script>
var len = 100000;
var i;
var arr = [];
for(i=0; i<len; ++i)
{
arr[i]
= i; //造10万条数据
}
var num1 = arr.splice(8000,1); //随机取走两条数据
var num2 = arr.splice(3000,1);

var arr2 = [];
var startTime = +new Date(); //开始时间
var result = []; //保存抽取出来的数
for(i=0; i<len; ++i)
{
arr2[arr[i]]
= arr[i]; //把剩下的各元素放入一个新数组
}

for(i=0; i<len; ++i)
{
if(typeof arr2[i] == 'undefined')
{
result.push(i);
}
}
var endTime = +new Date();
alert(endTime
- startTime); //计算排序时间
alert(result); //得到抽走的数字

</script>
</body>
</html>

原文地址:https://www.cnblogs.com/chentao5211314/p/2012811.html