二分法,去重算法
发布时间:2017-07-04, 10:23:40 分类:HTML | 编辑 off 网址 | 辅助
正文 1287字数 326,010阅读
<!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>
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
有过 1 条评论 »
<?php //定义数组 $arr=array( "name"=>"zhidao", "age"=>"10" ); $result = array_values($arr); var_dump($result); /*array(2) { [0]=> string(6) "zhidao" [1]=> string(2) "10" }*/
if($kw){ foreach($arr as $rk=>$rv){ $nrv[$rv['md5']]=$rv; } $arr=array_values($nrv); }
SELECT *, COUNT(DISTINCT iswtf) FROM table GROUP BY iswtf
$sql='SELECT *, COUNT(DISTINCT iswtf) FROM viiscc where tagss like \'%'.$kw.'%\' or sceneii like \'%'.$kw.'%\' GROUP BY iswtf order by tc '.$obrddd.', sc '.$obrddd.', id '.$obrddd.' limit '.$ps.','.$psize;