给定一个非严格递增排列的有序数组,删除数组中的重复项

  • 实例要求:
  • 1、给定一个非严格递增排列有序数组 nums
  • 2、原地 删除重复出现的元素,使每个元素 只出现一次
  • 3、返回删除后数组的新长度
  • 4、元素的 相对顺序 应该保持 一致 ;
  • 5、然后返回 nums唯一元素的个数;
  • 示例代码:
int removeDuplicates(int* nums, int numsSize) {

    int i,j;
    int newSize = numsSize;
    for(i = 0; i < newSize - 1; ++i)
    {
        if(nums[i] == nums[i+1])
        {
            for(j = i; j < newSize -1;++j)
            {
                nums[j] = nums[j+1];
            }
            newSize--;
            i--;
            

        }

    }
    return newSize;
    
}
  • 运行结果:
    给定一个非严格递增排列的有序数组,删除数组中的重复项_第1张图片

你可能感兴趣的:(C语言练习题系列,C语言,前端)