$arr = array(1,2,3,3,4,5);
print_r(remove1($arr ));
//方法1
function remove1($arr){
$count = count($arr);
if ($count == 0 || $count == 1) {
return $count;
}
$i = 0;
for ($j = 1; $j < $count; $j++) {
if ($arr[$j] != $arr[$i]) {
$i++;
$arr[$i] = $arr[$j];
}
}
return $i + 1;
}
//方法2
function remove2(&$nums) {
$count = count($nums);
if ($count == 0 || $count == 1) {
return $count;
}
$lastvalue = null;
$length = 0;
foreach ($nums as $k => $v) {
if ($v === $lastvalue) {
unset($nums[$k]);
}else {
$lastvalue = $v;
$length ++;
}
}
return $length;
}
网友评论