手撕算法-删除有序数组中的重复项

news2024/9/28 3:20:18

描述

image.png
很简单,就是,遇到重复的,只留一个,保存在数组的左半边。
如:
[0,0,1,1,1,2,2,3,3,4]
变为
[0,1,2,3,4]

分析

使用双指针。
slow指针代表没重复的数应该放置的位置,fast表示遍历的不重复数字的位置:

  1. nums[fast] == nums[fast - 1],时,代表是重复的,fast往右继续寻找不重复的位置
  2. nums[fast] != nums[fast - 1] 时,代表找到不重复的了,那应该把不重复的数,放到slow位置上。

如图:
image.png
image.png
image.png
image.png
image.png

代码

根据分析的逻辑编写代码

class Solution {
    public int removeDuplicates(int[] nums) {
        int n = nums.length;
        if(n==0) return 0;

        int slow = 1, fast = 1;

        while(fast < n) {
            if(nums[fast] != nums[fast-1]) {
                nums[slow] = nums[fast];
                fast++;
                slow++;
            } else {
                fast++;
            }
        }

        return slow;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1541703.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++中,数字以0开头,会默认八进制,不是十进制

代码1 以下代码&#xff1a; #include <iostream>using namespace std;int main(){uint8_t a 0101;int b (int)(a);cout<<b<<endl;}结果输出&#xff1a; 代码2 如果改为&#xff1a; #include <iostream>using namespace std;int main(){uint8_…

【新版】系统架构设计师 - 新版架构备考索引<附2023年11月原题回忆>

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 新版架构备考索引机考详情备考索引与方向&#xff08;个人观点&#xff0c;仅供参考&#xff09;总结附&#xff1a;2023年11月改版机试原题简单回忆 架构 - 新版架构备考索引 首先&#xff0c;此…

知识图表示学习中的负抽样研究综述

摘要 知识图表示学习(KGRL)或知识图嵌入(KGE)在知识构建和信息探索的人工智能应用中起着至关重要的作用。这些模型旨在将知识图中的实体和关系编码到低维向量空间中。在KGE模型的训练过程中&#xff0c;使用正样本和负样本是区分的必要条件。然而&#xff0c;直接从现有的知识…

Unity基础框架

公共模块 单例基类 如果有很多个这样的单例模式对象,创建他们时都要重复的写单例模式代码。那么能不能利用泛型来减少这部分重复的工作量呢。 单例模式基类,最简单的写法 继承MonoBehaviour的单例基类 所以需要做一些改进 获取单例时如果为空,创建一个名字一样的物体,挂…

如何在C语言中使用命令行参数

C语言文章更新目录 C语言学习资源汇总&#xff0c;史上最全面总结&#xff0c;没有之一 C/C学习资源&#xff08;百度云盘链接&#xff09; 计算机二级资料&#xff08;过级专用&#xff09; C语言学习路线&#xff08;从入门到实战&#xff09; 编写C语言程序的7个步骤和编程…

树的遍历方式DFS和BFS

DFS(depth first search) 深度优先遍历 从图中一个未访问的顶点V开始&#xff0c;沿着一条路一直走到底&#xff0c;然后从这条路尽头的节点回退到上一个节点&#xff0c;再从另一条路走到底…不断递归重复这个过程&#xff0c;直到所有的顶点都遍历完成。前序遍历&#xff0c…

高可用、逻辑保护、容灾、多活、妥协、流程

可用性三叉戟&#xff1a; 本地高可用性&#xff1a;消除单点故障&#xff0c;确保链路所有环节系统高可用 本地是指&#xff1a;针对生产中心的内部故障 故障类型&#xff1a;服务器、硬盘、适配器卡、网络 特点&#xff1a;快速恢复、自动的接管、实施简单 RPO-0 业务逻辑保护…

栈、队列——练习题

1. ✌有效的括号 代码实现&#xff1a; bool isValid(char* s) {char stack[10000];int top -1;while (*s) {if (*s ( || *s { || *s [) {stack[top] *s;} else {if (top -1) { // 栈空return false;}int top_val stack[top]; // 获取栈顶元素if (top_val ( &&…

遥感原理与应用—绪论

一、关于基本概念与对应的英文 遥感&#xff1a;Remote Sensing 遥测&#xff1a;Telemetry&#xff0c;对被测物体某些运动参数和性质进行远距离测量的技术&#xff0c;分为接触测量与非接触测量&#xff0c;对于RS的概念&#xff0c;遥测探测的目标显得狭隘了一些&#xff…

快速修复找不到msvcp140.dll,无法继续执行此代码问题

在电脑使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“无法找到msvcp140.dll”的错误。那么&#xff0c;msvcp140.dll究竟是什么呢&#xff1f;它为什么会出现这样的错误呢&#xff1f;通过查阅资料和自己的实践经验&#xff0c;我对msvcp140.dll…

需求分析的过程

需求分析的工具 ominGraffle/Visio Gliffy ProcessOn RSA(UML) PPT/WORD 手绘 需求所需要的工件&#xff1a; 系统上下文、用例模型、质量限制 1.系统上下文的工件 2.用例模型工件&#xff08;什么功能&#xff09; 3.质量和限制 质量&#xff1a;管理10个小动物&#xff0c;…

Affiliate Stores: 建立营销联盟商店的详细教程- US Domain Center主机

第一步&#xff1a;了解营销联盟商店 营销联盟商店是一种电子商务模式&#xff0c;您可以在其中通过推广其他企业的产品或服务来赚取佣金。您在自己的网站上展示其他企业的产品&#xff0c;并在买家购买时获得佣金。通过 WooCommerce 平台&#xff0c;您可以轻松创建一个营销联…

C++ 基本运算

何谓运算符和操作数 基本运算 1、双目运算 2、单目运算 3、赋值表达式 表达形式&#xff1a; <变量><表达式>; 表达式是指各种运算符把常量、变量&#xff0c;函数等运算对象连接起来的具有实际意义并符合C语法规则的式子。赋值是指表达式的值赋给一个变量。 …

第390场 LeetCode 周赛题解

A 每个字符最多出现两次的最长子字符串 滑动窗口&#xff1a;枚举窗口的左边界&#xff0c;尽可能右移窗口的右边界。 (当然也可以暴力枚举) class Solution { public:int maximumLengthSubstring(string s) {vector<int> cnt(26);int res 0;for (int l 0, r -1, n s…

自媒体洗稿软件文心一言api洗稿软件介绍

大家好&#xff0c;我是淘小白~ 这几天给一个客户写了一个文心一言api洗稿的软件。 一、客户要求&#xff1a; 1、采集头条文章&#xff08;软件内置可采集头条文章网址、微信文章网址、搜狐文章网址&#xff09; 2、调用文心一言api 3、多线程并发 4、逐段改写文章 5、…

MSDS认证流程与亚马逊MSDS注意事项

MSDS认证流程与亚马逊MSDS注意事项 一、MSDS认证流程概述 MSDS&#xff0c;即物质安全数据表&#xff08;Material Safety Data Sheet&#xff09;&#xff0c;是一份详细描述化学物质或制剂的物理、化学、毒性、环保和处置等方面信息的文件。对于在亚马逊等电商平台上销售的化…

覃超老师 算法面试通关40讲

教程介绍 无论是阿里巴巴、腾讯、百度这些国内一线互联网企业&#xff0c;还是 Google、Facebook、Airbnb 等硅谷知名互联网公司&#xff0c;在招聘工程师的过程中&#xff0c;对算法和数据结构能力的考察都是重中之重。本课程以帮助求职者在短时间内掌握面试中最常见的算法与…

基于SpringBoot+Vue健身房管理系统(源码+部署说明+演示视频+源码介绍)

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通…

探索超净实验室:高纯电子级PFA洗瓶特氟龙材质清洗瓶的特性

PFA洗瓶&#xff0c;实验中常用的清洗工具之一&#xff0c;是一个带有弯曲管状喷嘴的柔性瓶子&#xff0c;因此可以用手挤压瓶身以产生压力&#xff0c;迫使瓶内液体通过塑料管以单滴或窄流的形式流到需要清洁的表面。 ​ 由于需要多次挤压&#xff0c;瓶体要有良好的回弹性和…

jmeter链路压测

比如登录后返回token&#xff0c;业务打印上传的操作需要用到token 线程组中添加登录请求&#xff0c;并执行 1、添加登录并执行&#xff0c;查看结果 2、结果树中下拉选择正则表达式&#xff0c;将token参数和值复制粘贴到下方&#xff0c;将token值改为(.*?)&#xff0…