面试经典150题——删除有序数组中的重复项

面试经典150题 day3

题目来源

力扣每日一题;题序:26

我的题解

方法一 双指针

使用两个指针分别指向相同元素的左右边界,再利用一个count记录最终需要的数组长度。
时间复杂度 :O(n)
空间复杂度:O(1)

java 复制代码
public int removeDuplicates(int[] nums) {
    int left=0,right=1;
    int n=nums.length;
    if(n==1)
        return n;
    int count=0;
    while(right<n){
    	//找到相同元素的左右边界
        while(right<n&&nums[left]==nums[right])
            right++;
        //当前相同元素记录如最终的数组
        count++;
        left=right;
        right++;
        //只有left小于n时才会更新结果数组
        if(left<n)
            nums[count]=nums[left];
    }
    if(left<n)
        count++;
    return count;
}

有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~

相关推荐
那个村的李富贵几秒前
智能炼金术:CANN加速的新材料AI设计系统
人工智能·算法·aigc·cann
人间打气筒(Ada)2 分钟前
jenkins基于Pipeline发布项目
java·pipeline·jenkins·流水线·ci·cd·cicd
爬山算法7 分钟前
Hibernate(88)如何在负载测试中使用Hibernate?
java·后端·hibernate
自不量力的A同学11 分钟前
Solon AI v3.9 正式发布:全能 Skill 爆发
java·网络·人工智能
张张努力变强22 分钟前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
万岳科技系统开发22 分钟前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
独断万古他化26 分钟前
【Spring 原理】Bean 的作用域与生命周期
java·后端·spring
wWYy.28 分钟前
数组快排 链表归并
数据结构·链表
张登杰踩28 分钟前
MCR ALS 多元曲线分辨算法详解
算法
*小海豚*31 分钟前
在linux服务器上DNS正常,但是java应用调用第三方解析域名报错
java·linux·服务器