D136 26. Remove Duplicates from Sorted Array
题目链接
26. Remove Duplicates from Sorted Array
题目剖析
给定一个曾经排好序的数组,其中的整数会呈现反复。须要在不减少内存的状况下移除反复的元素。即不要新建数组。
留神,最初须要返回的是不反复的元素个数。
留神2,参数是以援用型传过来的。
解题思路
一一遍历元素,先间接把以后元素从数组中移除。
当以后元素和前一个元素不雷同时,做3件事件:
- 在原数组中插入这个不反复的元素。
- 记录以后数字,即最初呈现的数字。
- 把下次要插入数字的下标标记为以后下标+1
最终代码
<?phpclass Solution { /** * @param Integer[] $nums * @return Integer */ function removeDuplicates(&$nums) { $index = 0; $prev = NULL; foreach($nums as $key => $num){ unset($nums[$key]); if($num !== $prev){ $nums[$index] = $num; $prev = $num; $index = $key + 1; } } return $index; }}
若感觉本文章对你有用,欢送用爱发电赞助。