laocai30 2022-05-02 09:53 采纳率: 76.3%
浏览 104
已结题

第一次用力扣刷题,搞不懂怎么使用,还报错了

第一次用力扣刷题,搞不懂怎么使用,还报错了,有没有友友知道力扣如何上手呀,c++初学者,报错也不知道为啥报错了

img

  • 写回答

2条回答 默认 最新

  • 来自远古的声音 2022-05-02 10:05
    关注

    点击显示详情、、、c
    #include<stdio.h>
    int removeDuplicates(int *nums,int numsSize);//删除数组中重复元素的函数
    int removeDuplicates(int *nums,int numsSize)
    {
    if(numsSize==0)//如果数组为零,里面为空值。 输出零。
    {
    printf("0\n");
    }
    int fast=1,slow=1;//定义双指针
    while(fast<numsSize)//while循环遍历数组
    {
    if(nums[fast]!=nums[fast-1])//因为数组中的数是连续的,而且升序排列,所以当后面的数不等于前面的数时
    {
    nums[slow]=nums[fast];//当快指针所指向的数的值与前一个数值不相等时,就替换慢指针所指向的数值
    ++slow;//慢指针自加
    }
    ++fast;//快指针一直自加
    }
    return slow;//慢指针即为新的数组的长度
    }
    int main(void)
    {
    int n,i=0,numsSize,nums[numsSize];
    scanf("%d",&numsSize);
    for(int i=0;i<numsSize;i++)
    {
    scanf("%d",&nums[i]);
    }
    n=removeDuplicates(nums,numsSize);
    printf("%d\n",n);
    for(int i=0;i<n;i++)
    {
    printf("%d ",nums[i]);
    }
    return 0;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月21日
  • 已采纳回答 5月13日
  • 创建了问题 5月2日