D136 26. Remove Duplicates from Sorted Array
题目链接
26. Remove Duplicates from Sorted Array
题目剖析
给定一个曾经排好序的数组,其中的整数会呈现反复。须要在不减少内存的状况下移除反复的元素。即不要新建数组。
留神,最初须要返回的是不反复的元素个数。
留神 2,参数是以援用型传过来的。
解题思路
一一遍历元素,先间接把以后元素从数组中移除。
当以后元素和前一个元素不雷同时,做 3 件事件:
- 在原数组中插入这个不反复的元素。
- 记录以后数字,即最初呈现的数字。
- 把下次要插入数字的下标标记为以后下标 +1
最终代码
<?php
class 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;
}
}
若感觉本文章对你有用,欢送用爱发电赞助。