题目讲解
删除有序数组中的重复项
去重
给你一个有序数组nums,请你原地·删除重复出现的元素,使没个元素值出现一次,返回删除后数组的长度
**注意:**不要使用额外的数组空间,你·必须在原地修改输入数组并使用O(1)额外空间的条件完成
eg:
输入:nums=[1,1,2]
输出:2,nums=[1,2]
解释:函数应该返回新的长度为2,并且原数组nums的前两个元素被修改为1,2。不需要考虑新数组中超出新长度后面的元素
#include<stdio.h>
int main()
int removeDuplicates(int* nums, int numssize)if(numsSize==0)return 0;int i=0, j=1;int dst = 0;while(j<numsSize){if(nums[i]== nums[j]){
++j;}}
else
{nums[dst]= nums[i];++dst;++j;i=j;
}}nums[dst]=nums[i];++dst;return dst;
}