代码改变世界

一天一小段js代码(no.1)

  大额_skylar  阅读(345)  评论(0编辑  收藏  举报

   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);
复制代码

 

 

 标记:我的代码是从网上学来的,如果恰巧是你的代码,如果你在意的话,请联系我。

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示