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>';