首页 > 代码库 > 二分线性数组去重
二分线性数组去重
我们在昨天说了二次线性中查找的办法,这回我们再来说一说二次线性数组去重的用法。
//先建立一个数组
var arr = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 5, 5, 6, 7, 8, 9, 0, 0, 3, 4, 5];
//我们先封装一个函数来进行计算数组去重的计算
function findInArr(arr,n){
//数据比对
for(var i = 0; i < arr.length; i++){
//不要看到这样写的if语句就认为不好使,其实是可以的
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));
这样我们就可以进行数组中的去重步骤了,用二次线性是可以对大量数据来进行快速分析的。有兴趣的可以试一试
二分线性数组去重
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。