leecode 刷题笔记:26. 删除排序数组中的重复项

Mac 不小心断开移动硬盘导致磁盘无法读取和加载(顺利解决!) Mac移动硬盘不正确断开连接导致无法读取加载的解决方法,亲测有效 阅读详情

题目: 26. 删除有序数组中的重复项
题目类型: 有序数组去重
使用技巧: 双指针

解题思路

  1. 使用双指针技巧,即定义一个快指针 fast,一个慢指针 slow
  2. fast 先走,判断 fast 当前指向的元素和 slow 指向的元素是否重复
  3. 如果是,则 slow 不变,fast +1,即跳过当前元素指向下一个元素
  4. 如果否,slow +1,然后和 fast 所指向的元素交换,然后 fast +1
  5. 使用循环进行判断,当 fast 大于等于数组长度时候结束
  6. 严谨:判断数组是否为空或者参数是否为空指针

详细代码

class Solution {
    public int removeDuplicates(int[] nums) {
    	// 判断数组是否为空或者参数是否为空指针
        if (nums.length == 0 || nums == null){
            return 0;
        }
        int slow = 0;
        //注意把每次循环的fast+1写在了for后边的括号里面
        for(int fast = 1;fast<nums.length;fast++){
        	// 判断 fast 当前指向的元素和 slow 指向的元素是否重复
            if (nums[slow] != nums[fast]){
                slow++;
                nums[slow] = nums[fast];
            }
        }
        //因为slow是数组下标,是从0开始的,而这里需要返回的是目标数组的长度,所以+1
        return slow + 1;
    }
}
汽车行业OTD业务模式入门学习 本文是在学习彭俊松老师的《汽车行业整车订单交付系统》后,对于OTD理解的一些摘录,供诸位参考学习。 阅读详情

相关推荐

第18届全国大学生智能汽车竞赛四轮车开源讲解【2.5】-- 图像处理实战:从二值化到边缘检测的工程优化

本文深入讲解了第18届全国大学生智能汽车竞赛四轮车开源项目中图像处理的核心实战技术。文章聚焦于二值化与边缘检测两大关键环节,详细对比了大津法与索贝尔算子的工程应用与优化策略,并分享了遮光、偏振片等物理抗干扰技巧,旨在帮助参赛者构建稳定高效的图像预处理流水线,为赛道识别奠定坚实基础。

weixin_29279047的博客 100

Leecode刷题笔记——26. 删除排序数组中的重复项

思路: 1、原地修改数组,考虑快慢双指针 2、注意快慢双指针的初始化值 class Solution { public int removeDuplicates(int[] nums) { if(nums.length==0){ return 0; } if(nums.length==1){ return 1; } int n = nums.length; .

Tyxxxxxx 361

拆解一个带主动均衡的BMS模块:从变压器、MOS管矩阵到控制逻辑,图文详解内部设计与成本构成

本文深度拆解了一款带主动均衡功能的BMS模块,详细解析了其核心架构、元器件选型与成本构成。通过高频变压器、MOS管矩阵等硬件设计,该模块实现了高达87%的能量转移效率,远超普通被动均衡方案。文章还揭示了汽车级PCB设计、软件策略优化等关键技术细节,为锂电池管理系统设计提供了实用参考。

weixin_42638178的博客 345

跟着Carl大佬学leetcode之26 删除排序数组中的重复项

1.注意双指针思想;2.编程规范注意一下。

进击的lab681 1692

DESeq2实战:如何用LRT检验分析基因表达随时间变化的模式(附完整代码)

本文详细介绍了如何使用DESeq2中的LRT检验分析基因表达随时间变化的模式,包括实验设计、数据预处理、模型构建、结果提取与可视化等完整流程。通过实战案例和完整代码,帮助生物信息学研究者掌握时间序列RNA-seq分析的核心技术,特别适合需要快速上手的实践者。

weixin_42620255的博客 465

【VMware篇】7-通过ISO镜像升级VMware Esxi

本文主要介绍Dell服务器上安装的ESXi升级的方法之一(采用ISO升级)。

chen_yunan的博客 5511

LeetCode刷题系列---26. 删除排序数组中的重复项

LeetCode刷题系列---26. 删除排序数组中的重复项一、题目示例二、解题vector的基本操作解题思路1本地代码提交代码需要注意解题思路2本地代码提交代码别人的题解三、写在最后 一、题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 做题可以直接...

u011636440的博客 677

基于Hadoop生态的大数据异常检测平台搭建

批处理:用Spark MLlib的LOF(局部异常因子,适合高密度数据)、(单类支持向量机,适合高维数据);流处理:用Flink ML的(实时聚类,检测离群点)、ADWIN(自适应滑动窗口,处理概念漂移)。数据层:用Flume/Kafka采集数据,HDFS存储,Hive管理元数据;计算层:用Spark处理离线批数据,Flink处理实时流数据;算法层:用孤立森林(批)、3σ原则(流)检测异常;可视化层:用Grafana做仪表盘,Prometheus+Alertmanager报警。这个平台能处理。

软件工程实践的博客 933

leecode26 删除排序数组中的重复项

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示例2...

少说,多做。 3931

开心消消乐

1)当点击一个1时,该1变被反转为0,同时相邻的上、下、左、右,以及左上、左下、右上、右下8个方向的1(如果存在1)均会自动反转为0;2)进一步地,一个位置上的1被反转为0时,与其相邻的8个方向的1(如果存在1)均会自动反转为0;上述样例中,四个角上的1均在中间的1的相邻8个方向上,因此只需要点击一次即可。给定一个N行M列的二维矩阵,矩阵中每个位置的数字取值为0或1。在上述4 * 4的矩阵中,只需要点击2次,即可将所有的1进行消除。接下来N行表示矩阵的初始值,每行均为M个数,取值范围[0,1]

面试高手的博客 2728

一分钟了解 Claude Code

在 AI 编程工具百花齐放的 2026 年,凭借其终端原生、全项目理解、自主执行的核心能力,开辟了全新赛道。它不是要替代你的 IDE 或编辑器,而是成为你最强大的终端扩展,让你在熟悉的环境中,用自然语言驱动开发,专注创意,而非琐事。

h a 6 6 6 c k 为 你解决复杂难题! 2199

Leecode刷题: 26. 删除排序数组中的重复项

Leecode刷题: 26. 删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需...

weixin_43720396的博客 252

滴滴数据分析80道面试题及参考答案

常见的模型评价指标有准确率、召回率、F1 值、均方误差、均方根误差、R 方等。准确率是指模型预测正确的样本数占总样本数的比例,它反映了模型预测的准确性。召回率是指模型预测为正例的样本中实际为正例的比例,它衡量了模型对正例的捕捉能力。F1 值是准确率和召回率的调和平均数,综合考虑了两者的平衡。均方误差是预测值与真实值之差的平方的平均值,它衡量了模型预测值与真实值的平均偏离程度。均方根误差是均方误差的平方根,与均方误差类似,但更直观地反映了误差的大小。

大模型大数据攻城狮的专栏 1695

LeetCode(C++)刷题计划:26-删除排序数组中的重复项

26-删除排序数组中的重复项 @Author:CSU张扬 @Email:csuzhangyang@gmail.com or csuzhangyang@qq.com Category Difficulty Pass rate Tags Companies algorithms Easy 46.91% array / two-pointers bloomberg / faceboo...

神奇小海螺的博客 8514

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

LeetCode第26题_删除有序数组中的重复项

这是一道经典的数组处理题目:考察双指针技巧考察原地修改数组考察空间效率解题要点:利用数组已排序的特性使用双指针降低时间复杂度原地修改避免额外空间优化思路:可以添加快速判断相邻元素考虑特殊情况的优化注意边界条件的处理。

qq_40263592的博客 1201

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

C++描述 LeetCode 26. 删除排序数组中的重复项

C++描述 LeetCode 26. 删除排序数组中的重复项   大家好,我叫亓官劼(qí guān jié ),在优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在优快云中写博客,唯一博客更新的地址为:亓官劼的博客 ,同时正在尝试在B站中做一些内容分享,B站主页为: 亓官劼的B站主页 本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 若需联系博主,可以联系本人微信:qiguanjie2015 给定一个排序数组,你需要在** 原地** 删除重复出

一起加油 1971

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

算法 Notes|LeetCode 26. 删除排序数组中的重复项 - easy

历史 LeetCode 刷题文章: 算法 Notes|LeetCode 349. 两个数组的交集 - easy 算法 Notes|LeetCode 14. 最长公共前缀 - easy 算法 Notes|LeetCode 1. 两数之和 - easy 算法 Notes|LeetCode 283. 移动零 - easy GitHub 地址如下: https://github.com/HLQ-Struggle/LeetCodePro LeetCode 26. 删除排序数组中的重复项 给定一个排序数组,.

静心 Study 618

LeetCode删除排序数组中的重复项

LeetCode26:删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出...

一生信仰 7475

LeetCode刷题记录——26 删除排序数组中的重复项

LeetCode刷题记录——26 删除排序数组中的重复项 一 题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后的数组的新长度;不要使用额外的数组空间,必须在原地修改数组,使得在O(1)的额外空间的条件下完成 示例: 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素 2: 给定 nums = [0,0,1,1,1,2,2,

qq_42611498的博客 303

LeetCode题解(python)-26. 删除排序数组中的重复项

LeetCode题解(python) 26. 删除排序数组中的重复项 题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为...

Marshal Zheng的博客 718

​LeetCode刷题实战26:删除排序数组中的重复项

算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ...

程序IT圈 240

LeetCode 第 26 号问题:删除排序数组中的重复项

本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一。 个人网站:https://www.cxyxiaowu.com 题目来源于 LeetCode 上第 26 号问题:删除排序数组中的重复项。题目难度为 Easy,目前通过率为 48.8% 。 题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除...

程序员吴师兄的博客 295

leetcode 26. 删除排序数组中的重复项(C++)

leetcode 26. 删除排序数组中的重复项(C++) :给定一个排序数组,在原地删除重复出现的元素,返回移除后数组的新长度。

nanashi_F的博客 488

Python 练习 数组: LeetCode 26 删除有序数组中的重复项

Python练习 数组: LeetCode 26 删除有序数组中的重复项

weixin_46756690的博客 1198

力扣LeetCode第26题 删除有序数组中的重复项

力扣LeetCOde第26题删除有序数组中的重复项

weixin_44061444的博客 2138

leetcode26:删除排序数组中的重复项

leetcode26:删除排序数组中的重复项题目描述第一种解题思路第二种解决思路:第三种解决思路: 题目描述 第一种解题思路 因为数组是已经排好序的有序数组,所以后面的元素一定是大于等于前面的数字的,所以我们只需要判断后一个数字是否与前一个数字相等,如果相等就让后一个继续向后,直到不等于当前数为止,如果不相等就让前面的下标向后移动一位赋值,最后的长度就是前面下标+1 /* * LeetCode, Remove Duplicates from Sorted Array * 时间复杂度O(n),空间复

lievech的博客 237
上一篇: 第一次运行WampServer提示计算机中丢失 msvcr110.dll
下一篇: leecode 刷题笔记:83. 删除排序链表中的重复元素
张猿
博客等级 码龄9年 100粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张猿

0元代表鼓励,1元代表认可

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值