`
jackra
  • 浏览: 6878 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

平凡中的简单

阅读更多

在51js上看到一个题目。
从1到10w(共10w个数)中随机抽走2个数,然后打乱剩下的数的顺序,问如果从这剩下的数中快速的找出抽走的是哪2个数?
一位牛人朋友写了一个利用积差与和差来判断的方式。
具体参照http://www.cnblogs.com/meteoric_cry/archive/2011/03/16/1986008.html。

我个人是想不到如此了,我想到的是另外一个简单的方式。就是制作数组,然后用下表来排除相应的元素,使得最后数组的元素剩下被抽走的2个数据。考虑到数组下标本身的定位方式,是地址方式直接的定位,所以对cpu的占用情况并不大。效率应该还是可以的。如果js中真的是链表形式存储数组元素的话,那么就可以使用多维的方式进行快速定位.因为要对机器里的东西进行清理,决定在iteye保留此代码,此帖只为保留源码.

 

            var n = 100* 1000;
            var arr = [];
            for (var i = 0; i < n ; i++) {
                arr.push(i+1);
            }
            var num1 = arr.splice(Math.floor(Math.random() * arr.length), 1);
            var num2 = arr.splice(Math.floor(Math.random() * arr.length), 1);
           
            document.write('抽掉数:<br/>第1个数是:' + num1 + ',第2个数是:' + num2 + '<br/><br/>');
           
            var arr2=new Array(100);
            for(var i=0;i<100;i++){
                arr2[i]=new Array(1000);
                for(var j=0;j<1000;j++){
                    arr2[i][j]=i*1000+j;   
                }   
            }
            for(var idx in arr){
                var temp=arr[idx]-1;
                var idx1=Math.floor(temp/1000);
                var idx2=temp%1000;
                delete(arr2[idx1][idx2]);   
            }
            for(var idx in arr2){
                if(arr2[idx].length!=0){
                    for(var idx2 in arr2[idx]){
                        document.write(arr2[idx][idx2]+1+"<br/>");
                    }
                }
            }

许多复杂问题都有简单而又平凡的方式来处理,我个人并不是一个很博学的人,对于处理问题也总是从简单平凡的方式来处理,当然这许多人的眼里或许太普通了,程度就是如此也没什么办法,只有在自己能想到的范围里来解决问题。

分享到:
评论

相关推荐

    《师德报告》学习体会:平凡中寻不平凡,简单中求不简单.doc

    9. 榜样的力量:董成伟和赵莉蓉两位老师的事迹为其他教师树立了榜样,提醒教育工作者要珍视平凡中的不平凡,简单中的不简单,用实际行动诠释师德。 10. 教育的未来展望:董成伟老师设立基金资助贫寒学生的愿望,...

    平凡老师提供的简易试验板

    【简易试验板】是IT学习领域中一个非常实用的教学工具,尤其对于初学者而言,它为探索和实践提供了直观的平台。"平凡老师提供的简易试验板"是一个专为教育设计的项目,旨在帮助用户理解并掌握基本的编程概念、硬件...

    单片机平凡仿真板-单片机程序简单的仿真-初学者使用

    在本案例中,初学者可以通过简单的C程序实现对仿真板的功能控制,例如点亮LED、蜂鸣器发声等,以观察和理解程序运行的效果。 在仿真阶段,用户无需实际硬件设备,而是通过软件模拟单片机的运行环境。这大大降低了...

    小学生关于平凡中的发现国旗下讲话稿.pdf

    5. **生活中的美**:第三篇讲话稿探讨了平凡生活中的美,通过描绘小巷的景色和生活场景,指出即使在简单朴素的环境中也能找到独特的韵味和美感。这启示我们欣赏生活中的细节,发现日常中的宁静和舒适。 6. **传统...

    2016年高考语文作文预测简单平凡的小幸福素材

    在2016年的高考语文作文预测中,一个引人深思的主题被提出:“简单平凡的小幸福”。这个主题鼓励考生去发掘生活中的细微幸福,那些看似平常却难以忘怀的瞬间,那些平凡到几乎被忽视的快乐。在这个繁忙的世界里,我们...

    平凡老师的经典单片机教程

    【描述】:“本资源简单易懂,讲解的不深,适合才接触单片机的人使用。” 这表明教程内容设计得浅显易懂,旨在避免复杂的理论阐述,而是注重实践操作和基本概念的理解。对于初学者来说,这是非常重要的,因为单片机...

    Android 平凡之路

    ### Android平凡之路:深入理解Volatile变量 #### 概述 在Android开发乃至整个Java编程领域,`volatile`关键字的应用非常广泛。它主要用于确保多线程环境中的数据一致性,通过控制内存可见性和禁止指令重排等机制...

    【《平凡的颜色,不平凡的创造》学校说明文阅】四个不平凡的少年.docx

    《平凡的颜色,不平凡的创造》一文中,主要讲述了四位科学家——赤崎勇、天野浩、中村修二对蓝光发光二极管(LED)的重要贡献,他们因此荣获诺贝尔物理学奖。蓝光LED的发展历程揭示了科技如何克服挑战,实现从传统...

    平凡考试系统

    该系统旨在提供一个简单易用且功能丰富的环境,以支持各种类型的考试和测试。以下是对该系统的详细解析: 1. **版权证书**:V5版权证书.jpg可能是该考试系统的一个官方授权证明,表明该软件具有合法的知识产权,...

    关于平凡的唯美句子.doc

    【标题】和【描述】中提到的“关于平凡的唯美句子.doc”是一个文档,标签为“文档”,内容主要是关于平凡生活的感悟和理解。虽然这些内容并非IT知识,但我们可以从中提炼出与生活哲学相关的一些观点,并尝试将其与IT...

    初中语文文摘人生平凡最难

    【标题】: "初中语文文摘人生平凡最难" 这个标题揭示了一个深刻的人生哲理,即平凡的生活并不...它提醒我们,平凡的生活并不简单,而是在日复一日的平凡中寻找内心的平静和满足,这是一种需要勇气和智慧的人生演出。

    3分钟国旗下平凡中的发现讲话稿5篇精选.docx

    从给定文件的信息来看,这篇文档主要探讨了在日常生活中如何发现平凡事物中的美,并通过几个具体的例子进行了阐述。下面将根据文档中的内容提炼出相关的IT知识点并不适用,因此这里将按照要求转换为讨论如何从日常...

    平凡单片机教程 51单片机

    51单片机是微控制器领域中非常经典的一款产品,因其结构简单、易于上手,被广泛应用于教育、科研和工业控制等领域。本教程通过深入浅出的讲解,旨在使学习者能够熟练地运用C语言进行51单片机的编程。 首先,51...

    平凡keilc51教程.rar

    《平凡keilc51教程》是一份专为单片机初学者设计的教程资源,主要围绕keil集成开发环境的使用展开。keil是业界广泛使用的C51编译器,它为8051系列单片机提供了强大的开发支持。本教程以简单易懂的方式,通过丰富的...

    平凡老师单片机教程(文档资料)

    本教程由平凡老师倾心打造,旨在为初学者提供一个简单易懂的单片机学习路径。单片机,又称微控制器,是集成了计算机基本功能部件(CPU、内存、输入/输出接口等)的微型计算机系统,广泛应用于自动化、智能家居、汽车...

    friend-list, 非平凡( 简单) 前端编程挑战.zip

    friend-list, 非平凡( 简单) 前端编程挑战 好友列表非平凡( 简单) 前端编程挑战。 solutions solutions React React React Redux saga saga saga saga saga saga saga saga and and和 Snabb

    在平凡中耕耘自己.doc

    综上所述,客服工作并非简单的事务处理,而是涵盖专业素养、沟通技巧、问题解决、团队协作等多方面能力的综合体现。通过在平凡的岗位上持续耕耘,客服人员可以不断提升自我,为企业赢得宝贵的客户信任和市场口碑。

    平凡的51单片机教程

    51单片机是一类基于Intel公司MCS-51内核的微控制器,因其简单易用且功能实用,特别适合初学者学习和使用。"平凡的51单片机教程"是为初学者设计的一份教程,旨在通过通俗易懂的语言帮助学习者理解单片机的基本概念和...

    平凡的探索: 单片机工程师与教师的思考

    在《平凡的探索:单片机工程师与教师的思考》这篇文章中,作者旨在通过自己的经验分享,帮助那些已经掌握了单片机基础知识的学习者进一步提升自己,从一个简单的“学习者”成长为一名真正的“开发者”。这一转变不...

Global site tag (gtag.js) - Google Analytics