LeetCode 从排序数组中删除重复项

xiaoxiao2021-02-28  57

给定一个有序数组,删除重复内容使每个元素只出现一次,并返回新的长度。

不要为其他数组分配额外的空间,您必须通过在 o(1)额外的内存中修改输入数组来实现

例如:nums[]={5 5 5 6 7 7 7 7 9 9 9 9 9}  有4个不同数字 

在数值不同时才做处理

5 5 5 6 7 7 7 7 9 9 9 9 9

5 5 5 6 7 7 7 7 9 9 9 9 9

5 5 5 6 7 7 7 7 9 9 9 9 9

一个值记录数组中不同数字的个数,并且用这个值取作为下标覆盖掉原数组中改下标的值

int number = 0; for(int i =0; i<nums.length;i++){ // 相邻两个值比较,不同才做统计操作 if(nums[i]!=nums[number]){ number++; nums[number] = nums[i]; } } // 不同数字为总量= number+1 return ++number;
转载请注明原文地址: https://www.6miu.com/read-2630833.html

最新回复(0)