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

给你一个 升序排列 的数组 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;
}
相关推荐
residual_fan几秒前
深度渐进收缩学习(DPSL):面向强噪声与类内分散的机械复合故障诊断方法
人工智能·算法·数据挖掘·数据分析
leikooo19 分钟前
ARTS 0906: 辅助栈记录每层最小值、OSI 模型从未真正落地与与其被动等待被颠覆不如主动设计规则
数据结构·人工智能·tcp/ip
a1879272183134 分钟前
【算法】动态规划第五篇:区间 DP——从“看什么都像背包“到“最后戳谁“
算法·leetcode·动态规划·dp·区间·区间dp·算法讲解
whitelbwwww38 分钟前
c++ 多线程
开发语言·c++·算法
额鹅恶饿呃40 分钟前
随着CentOS官方停服的时间越来越久,大量仍在使用CentOS7的企业和运维从业者
java·python·算法·c#·ruby
不会就选b44 分钟前
数据结构之数&&二叉树(一)
数据结构
白狐_7981 小时前
408 数据结构|KMP算法核心:为什么不用主串回退
数据结构·算法
努力努力再努力wz1 小时前
【Docker入门系列】:从架构演进到容器化:一文建立 Docker、虚拟化与 Namespace 的底层心智模型
运维·开发语言·数据结构·c++·docker·容器·架构
wuyk5551 小时前
13.堆排序:基于完全二叉树的高效排序算法一、什么是堆排序?
开发语言·算法·排序算法
qinzechen1 小时前
本周科技行业热点汇总·2026第36周(2026年8月31日-9月6日)
c++·科技·算法