力扣刷题day1 ---数组 &&双指针

leetcode hot100 中等难度 day04-刷题 阅读详情

26. 删除有序数组中的重复项

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

  • 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。
  • 返回 k 。

示例 1:

输入:nums = [1,1,2]
输出:2, nums = [1,2,_]
解释:函数应该返回新的长度 

示例 2:

输入:nums = [0,0,1,1,1,2,2,3,3,4]
输出:5, nums = [0,1,2,3,4]
解释:函数应该返回新的长度 

思路  :看到本题目,首先就是创建一个临时数组 ,用临时数组来记录不重复的元素,但是题目要求 原地 ,因此可以采用临时数组的思想,使用双指针(快慢指针)进行解答:        

代码如下:

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {

        //判空
        if (nums.empty()) //为真 代表容器为空 否则不为空
        {
            return 0;
        }
        //双指针解法尝试
        int j = 0;
        for (int i = 1; i < nums.size(); i++) {
            if (nums[i] != nums[j]) {
                nums[j + 1] = nums[i];
                j++;
            }
        }
        return j + 1;
    }
};

值得注意的是 添加时需要 将慢指针进行 +1的操作 ,开始忘记+1导致报错,另外最后也要进行+1操作,因为慢指针是从0开始的

如何在RT-DETR-R18中修改ultralytics的yaml文件(附完整代码) 本文详细指导如何在RT-DETR模型中,通过修改Ultralytics框架的yaml配置文件,将Backbone从ResNet50轻量化替换为ResNet18。核心步骤包括自定义ResNet18基础模块、调整HybridEncoder的expansion参数至0.5,并协同修改检测头Decoder层数,最终提供完整的配置文件代码,助力开发者在资源受限环境下部署轻量级实时目标检测模型。 阅读详情

相关推荐

从TI官方手册里挖细节:TPS5430负压电路那个不起眼却救命的Cd电容

本文深入解析TPS5430负压电路中关键Cd电容的作用与设计要点,揭示其在DC-DC电源设计中的重要性。通过对比TI手册和实战案例,详细阐述Cd电容在高频电流回路、能量缓冲和噪声抑制中的核心功能,并提供选型与布局指南,帮助工程师避免芯片烧毁风险,提升电路稳定性。

weixin_27102543的博客 357

Golang数组去重&切片去重

合并两个整型切片,返回没有重复元素的切片,有两种去重策略 1. 通过双重循环来过滤重复元素(时间换空间) // 通过两重循环过滤重复元素 func RemoveRepByLoop(slc []int) []int { result := []int{} // 存放结果 for i := range slc{ flag := true for j ...

牛奔的博客 4615

生产实习-实习报告-Raspberry Pi的应用

生产实习-Raspberry Pi的应用 一.设计任务: 1、搭建树莓派开发环境 主要包括烧录树莓派操作系统,远程访问树莓派,树莓派接口配置以及树莓派与windows实现文件共享等。 2、树莓派的基本操作 控制GPIO点亮LED灯以及树莓派舵机云台控制 3、安装OpenCV及图像采集实验 OpenCV配合树莓派,直接读取来自树莓派摄像头Pi Camera的视频,进行人脸识别、边缘检测、颜色判别等各种计算机视觉开发。 4、树莓派小车远程Wi-Fi控制 使用树莓派驱动L298N,用树莓派板载Wi-Fi控制

青竹小轩的博客 750

golang数组去重

func RemoveRepeatedElement1(arr []string) (newArr []string) { newArr = make([]string, 0) for i := 0; i < len(arr); i++ { repeat := false for j := i + 1; j < len(arr); j++ { if arr[i] == arr[j] { repeat = true break } } if !rep

weixin_44189499的博客 1519

解决用加速器以后,电脑无法连接网络的问题

相信很多朋友也遇到过,用加速器以后,电脑网络直接断了,或者访问外网时打不开的情况解决办法是。

qq_46368050的博客 1万+

解决SolidWorks启动报错问题:SolidWorks2020显示无法获得下列许可 SolidWorks standard 期望的SolidWorks监控程序已经关闭(-97,121,0)

解决SolidWorks启动报错问题:SolidWorks2020显示无法获得下列许可 SolidWorks standard 期望的SolidWorks监控程序已经关闭(-97,121,0) 问题描述 打开SolidWorks2020时,显示SolidWorks2020显示无法获得下列许可 SolidWorks standard 期望的SolidWorks监控程序已经关闭(-97,121,0) (急需看模型的我心里万马奔腾…) 截图如下: 有问题咱就上 看了其他博主的回答,自己尝试了几个,发现出现了新的

qq_44606358的博客 7万+

Go数组去重

【代码】Go数组去重。

小龙在线 3146

软件需求规格说明书(SRS)标准模板

《软件需求规格说明书(SRS)框架解析》摘要: 本文档系统阐述了SRS的标准结构,包含7大核心部分:1)引言(目的、背景和术语);2)总体描述(产品定位与用户特征);3)功能需求(模块化功能说明);4)非功能需求(性能、安全等指标);5)接口需求(用户/硬件/软件接口);6)其他技术要求;7)附录(图表与参考资料)。重点突出了功能需求模块的标准化描述模板(FR-01),以及安全需求中的HTTPS通信、SHA-256加密等关键指标。该框架为软件开发提供了明确的需求基准,涵盖从业务背景到技术实现的完整链条,是确

moton2017的博客 2889

golang 去重算法

golang 去重算法

qq_37106501的博客 936

YOLOv11改进策略【模型轻量化】| 替换骨干网络为 GhostNet V1 基于 Ghost Module 和 Ghost Bottlenecks的轻量化网络结构

本文记录的是基于的YOLOv11网络模型轻量化方法研究。GhostNet中的Ghost模块和Ghost瓶颈结构是其轻量化的关键。Ghost模块克服了传统卷积层计算资源需求大的问题,Ghost瓶颈则合理设计了通道数量的变化以及与捷径连接的方式,能更好地在减少计算成本的同时保持较高性能,从而提升模型在移动设备上的应用能力和效率。

Limiiiing的博客 1430

黑猫带你学UFS协议第1篇:全网最全UFS协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)

本文由黑猫学长撰写,深入解析UFS协议,覆盖从基础概念到高级特性的全方位教程。适合存储芯片行业从业者和嵌入式开发者,旨在帮助读者快速掌握UFS协议,适用于高端智能手机、平板等智能设备。预计15万字,涵盖UFS 3.1协议,讲解UFS协议栈、物理层、链路层、传输层等内容。

黑猫奥利奥的博客 3696

力扣每日一练之数组下篇Day3

力扣每日一练之数组下篇Day3 🍕前面的话🥞 大家好!本篇文章将介绍2周搞定数据结构的题,来自力扣的35,两个数组的交集和121.买卖股票的最佳时机,本文将以这两道题作为背景,介绍经典的数组排序以及线性查找,展示语言为java(博主学习语言为java)。今天呢,是博主开始刷力扣的第三天,如果有想要开始准备自己的算法面试的同学,可以跟着我的脚步一起,共同进步。大家都是并肩作战的伙伴,一起努力奋力前行,路漫漫其修远兮,吾将上下而求索,相信我们一定都可以拿到自己期望的offer,冲冲冲! 👩‍💻博客主页:京与旧

qq_46272491的博客 1495

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Leetcode刷题 Day1 数组:二分法,双指针

需要注意的点:1.数组下标从0开始2.数组内存空间地址是连续的。

A21281005_的博客 1305

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Leetcode hot 100刷题之路(day 1)

想要找到最长子序列,其实就是对每一个数x,查询数组中是否存在 x+1,如果有,再次查询是否有x+2.可以用哈希优化搜寻过程为O(1),但是,外层需要遍历n个数,内层也需要匹配O(n)次,但其中有可以优化的过程,如果x匹配过了 那么x+1就不需要再次判断,因为肯定比x匹配过的短。当右指针指向非零,需要移动,不然会进入零区域,当指向零,不需要操作,只需要指向下一块区域。第一种解法,维护双指针,分别在0,size()-1,维护两个变量,分别是左最高,右最高。这道题用了数组的做法,判断两者的字母数组是否相同。

m0_73710531的博客 1682

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

力扣每日一练之双指针1Day8

力扣每日一练之双指针1Day8 🍕前面的话🥞 大家好!本篇文章将介绍20天算法刷题计划的题,本文将以两道题作为背景,介绍经典的双指针,展示语言为java(博主学习语言为java)。今天呢,是博主开始刷力扣的第五天,如果有想要开始准备自己的算法面试的同学,可以跟着我的脚步一起,共同进步。大家都是并肩作战的伙伴,一起努力奋力前行,路漫漫其修远兮,吾将上下而求索,相信我们一定都可以拿到自己期望的offer,冲冲冲! 👩‍💻博客主页:京与旧铺的博客主页 ✨欢迎关注🖱点赞🎀收藏⭐留言✒ 🔮本文由京与旧铺原创,csd

qq_46272491的博客 838

力扣面试经典150题刷题Day 2 数组和字符串(2)

今天做的主要是元素删除的题目。T26,27,80都是一类题目。针对删除元素的题目一般的方法都是,由于删除元素后整个数组的位置都要发生变化,因此设置两个指针。一个指针用于遍历整个数组,另一个指针用于指向下一个有效元素插入的位置。(因为删除元素后会导致被删除元素的位置为空,需要将后面的有效元素移到前面来)另一种方法是通用法,T26,T27,T80都可以用到,这是一个博主放个图:对于保留k个元素的题目,临界情况就是有k个相同的元素,这时这k个元素是都可以进行保留的;

jijlkl的博客 1731

力扣刷题之数组篇

二分法、双指针

qq_51423963的博客 1169

力扣刷题——数组 day2

今天的题目做下来仍然有些地方不是很不会,即使做过不止一遍,再次看见时也是非常的生疏,往往只能想到最傻最笨的方法,并且也未能做出来,思维仍然需要多加锻炼,刷题仍然要继续。

weixin_57973719的博客 687

力扣刷题DAY4(哈希表+双指针/简单)

力扣刷题DAY4(哈希表+双指针/简单)

m0_74803856的博客 848

LeetCode每周刷题总结(滑窗+双指针)

这周开始写双指针的题了,感觉有些时候还是不太好想,希望下周可以做的更熟练吧!

2303_78315474的博客 970

leetcode 刷题记录,数组部分,代码随想录刷题顺序

看了好多攻略,打算第一遍刷题顺序跟着 代码随想录 :数组、链表、哈希表、字符串、双指针法、栈与队列、二叉树、回溯算法 、贪心算法、动态规划、单调栈 题外话:小白一枚,打算刷题提高编程能力,由于现在在公司算法部门实习,所以使用python语言,打算明年秋招之前用java或者c++再刷一遍。下面纯记录个人刷题日记及代码。 代码随想录:代码随想录 (programmercarl.com) DAY 1 704.二分查找 704. 二分查找 - 力扣(LeetCode) cla...

yyy199869的博客 3111

力扣hot100刷题day1(哈希&双指针)

(最长连续序列,三数之和):大循环外层,一个一个元素判断,具体的判断逻辑使用到哈希或双指针接雨水:双指针法再看哈希统计频数 或 去重--hot100堆的题。

leeyayai_xixihah的博客 1007

LeetCode刷题day02-数组

只需要掌握相关的编程语言的这些知识即可开始刷题。

CathieLi的博客 347

【力扣刷题】Day02——数组基础

力扣数组基础----day02

涛涛的个人博客 1424

力扣每日一练之双指针2Day9

力扣每日一练之双指针2Day9 🍕前面的话🥞 大家好!本篇文章将介绍20天算法刷题计划的题,本文将以两道题作为背景,介绍经典的双指针,展示语言为java(博主学习语言为java)。今天呢,是博主开始刷力扣的第九天,如果有想要开始准备自己的算法面试的同学,可以跟着我的脚步一起,共同进步。大家都是并肩作战的伙伴,一起努力奋力前行,路漫漫其修远兮,吾将上下而求索,相信我们一定都可以拿到自己期望的offer,冲冲冲! 👩‍💻博客主页:京与旧铺的博客主页 ✨欢迎关注🖱点赞🎀收藏⭐留言✒ 🔮本文由京与旧铺原创,csd

qq_46272491的博客 763
上一篇: 力扣 简单 9. 回文数
下一篇: 力扣刷题day2 ---数组 &&二分查找
Qian_Chi
博客等级 码龄5年 64粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值