题目讲解
删除有序数组中的重复项
去重
给你一个有序数组nums,请你原地·删除重复出现的元素,使没个元素值出现一次,返回删除后数组的长度
**注意:**不要使用额外的数组空间,你·必须在原地修改输入数组并使用O(1)额外空间的条件完成
eg:
输入:nums=[1,1,2]
输出:2,nums=[1,2]文章来源:https://www.toymoban.com/news/detail-830865.html
解释:函数应该返回新的长度为2,并且原数组nums的前两个元素被修改为1,2。不需要考虑新数组中超出新长度后面的元素文章来源地址https://www.toymoban.com/news/detail-830865.html
#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;
}
到了这里,关于学习数据接构和算法的第11天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!