D136 26. Remove Duplicates from Sorted Array

题目链接

26. Remove Duplicates from Sorted Array

题目剖析

给定一个曾经排好序的数组,其中的整数会呈现反复。须要在不减少内存的状况下移除反复的元素。即不要新建数组。

留神,最初须要返回的是不反复的元素个数。

留神2,参数是以援用型传过来的。

解题思路

一一遍历元素,先间接把以后元素从数组中移除。

当以后元素和前一个元素不雷同时,做3件事件:

  1. 在原数组中插入这个不反复的元素。
  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;    }}

若感觉本文章对你有用,欢送用爱发电赞助。