<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> var arr =[1,2,3,4,5,6,7,8,9,0,8,5,5,4,3]; //创建一个数组 function findInArr(arr,n){ //循环数组中的每一项如果它的每一个i项与n相等就返回继续执行 for (var i=0;i<arr.length;i++){ if (arr[i] == n){ return true; } } return false; } function removeDup(arr,s,e){ // 判断这个数组,的开始顺序,和这个数组是不是首项和尾项相等 if (s>e) { return false; } else if(s==e){ return [arr[s]]; } // 将数组进行二分,找到中间项,将数组分为两部分 var c= Math.floor((s+e)/2); var l = removeDup(arr,s,c); var r = removeDup(arr,c + 1,e); for (var i=0;i< r.length; i++) { if (!findInArr(l,r[i])) { l.push(r[i]) } } return l; } console.log(removeDup(arr,0,arr.length-1)) </script> </html>
算法是一种很奇妙的东西,希望能多多交流。
以上就是介绍js中二分法,去重的实例代码的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号