给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。
nums = [0,0,1,1,1,2,2,3,3,4]
5, nums = [0,1,2,3,4]
c
int removeDuplicates(int* nums, int numsSize){
int begin = 0;
int end = 0;
// 0,0,1,1,1,2,2,3,3,4
//begin 0
//end 1
while(end<numsSize){
if(nums[end] == nums[begin]){
nums[begin] = nums[end];
end++;
}else{
begin++;
nums[begin] = nums[end];
end++;
}
}
return begin+1;
}
c
int removeDuplicates(int* nums, int numsSize){
int begin = 0;
int end = 0;
// 0,0,1,1,1,2,2,3,3,4
//begin 0
//end 1
while(end<numsSize){
if(nums[end] == nums[begin]){
// nums[begin] = nums[end];
end++;
}else{
begin++;
nums[begin] = nums[end];
end++;
}
}
return begin+1;
}
c
int removeDuplicates(int* nums, int numsSize){
int begin = 0;
int end = 0;
// 0,0,1,1,1,2,2,3,3,4
//begin 0
//end 1
while(end<numsSize){
if(nums[end] == nums[begin]){
// nums[begin] = nums[end];
end++;
}else{
begin++;
nums[begin] = nums[end];
// end++;
}
}
return begin+1;
}
c
int removeDuplicates(int* nums, int numsSize){
int begin = 0;
int end = 1;
// [0,0,1,1,1,2,2,3,3,4]
// begin 0
// end 1
while(end<numsSize){
if(nums[end] == nums[begin]){
end++;
}else{
begin++;
nums[begin] = nums[end];
end++;
}
}
return begin+1;
}