【删除有序数组中的重复项】

给你一个 升序排列 的数组 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;
}
相关推荐
Dizzy.51715 分钟前
数据结构(查找)
数据结构·学习·算法
分别努力读书3 小时前
acm培训 part 7
算法·图论
武乐乐~3 小时前
欢乐力扣:赎金信
算法·leetcode·职场和发展
Jared_devin3 小时前
数据结构——模拟栈例题B3619
数据结构
'Debug3 小时前
算法从0到100之【专题一】- 双指针第一练(数组划分、数组分块)
算法
sushang~3 小时前
leetcode21.合并两个有序链表
数据结构·链表
Fansv5874 小时前
深度学习-2.机械学习基础
人工智能·经验分享·python·深度学习·算法·机器学习
yatingliu20195 小时前
代码随想录算法训练营第六天| 242.有效的字母异位词 、349. 两个数组的交集、202. 快乐数 、1. 两数之和
c++·算法
uhakadotcom5 小时前
Google DeepMind最近发布了SigLIP 2
人工智能·算法·架构
sjsjs115 小时前
【数据结构-并查集】力扣1202. 交换字符串中的元素
数据结构·leetcode·并查集