1, 删除排序数组中的反复项
https://leetcode-cn.com/leetb…
给你一个有序数组 nums,请你 原地 删除反复呈现的元素,使每个元素 只呈现一次,返回删除后数组的新长度。
不要应用额定的数组空间,你必须在 原地 批改输出数组 并在应用 O(1) 额定空间的条件下实现。
思路:因为不让应用额定的数组,并且数组有序。因而能够遍历数组挨个比拟元素的值,相等则删除后呈现的值。
<?php
function a(&$arr) {$tmp = $arr[0];
$l = count($arr);
for($i = 1; $i < $l; $i++)
{if ($tmp == $arr[$i])
{unset($arr[$i]);
continue;
}
$tmp = $arr[$i];
}
return count($arr);
}
$arr = [1,1,1,2,2,2,3,4,4,5,9,10];
$b = a($arr);
echo $b;
echo '<br><pre>';
print_r($arr);
echo '</pre>';