力扣随笔删除有序数组中的重复项(简单26)

思路:根据类似于滑动窗口的思想,定义一个指针;使指针左边的区域全部为不重复元素(包括指针所指的数字)

以示例2为例,left:红色加粗 遍历指针i:黑色加粗 窗口范围,左边界到右边界左闭右闭

        0,0,1,1,1,2,2,3,3,4        第一轮:nums[right] == nums[i] -> i++

        00,1,1,1,2,2,3,3,4        第二轮:nums[right] == nums[i] -> i++

        0,0,1,1,1,2,2,3,3,4        第三轮:nums[right] != nums[i] -> 窗口扩大,将right++,把nums[i]的数值赋给nums[right],i++;

        01,1,1,1,2,2,3,3,4        第四轮:nums[right] == nums[i] -> i++

        01,1,1,1,2,2,3,3,4        第五轮:nums[right] == nums[i] -> i++

        01,1,1,1,2,2,3,3,4        第六轮:nums[right] != nums[i] -> 窗口扩大,将right++,把nums[i]的数值赋给nums[right],i++;

        0,1,2,1,1,2,2,3,3,4        第七轮:nums[right] == nums[i] -> i++

        0,1,2,1,1,2,2,3,3,4        第八轮:nums[right] != nums[i] -> 窗口扩大,将right++,把nums[i]的数值赋给nums[right],i++;

        0,1,2,3,1,2,2,3,3,4        第九轮:nums[right] == nums[i] -> i++

        0,1,2,3,1,2,2,3,3,4        第十轮::nums[right] != nums[i] -> 窗口扩大,将right++,把nums[i]的数值赋给nums[right],i++;

        0,1,2,3,4,2,2,3,3,4        i超出范围,退出遍历

红4右边区域包括红4即所求

Java实现:

class Solution {public int removeDuplicates(int[] nums) {int right = 0;for(int i = 0;i < nums.length;i++){if(nums[i] != nums[right]){left++;nums[right] = nums[i];}}return right + 1;}
}

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

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

相关文章

C++笔记(面对对象部分复习向)

B站&#xff1a;黑马程序员C教程 栈区&#xff0c;全局区&#xff0c;堆区和代码区 析构、构造和static 对象成员与类本身构造顺序&#xff0c;先成员后自己&#xff1b;析构则相反 static修饰成员变量,所有对象共享一份内存&#xff0c;编译阶段分配内存&#xff0c;类内声明…

[c++] char * 和 std::string

1 char * 和 std::string 的区别 char * 字符串是常量字符串&#xff0c;不能修改&#xff1b;std::string 指向的字符串可以修改 实例代码如下图所示&#xff0c;s1 和 s2 均是常量字符串&#xff0c;字符串常量保存在只读数据区&#xff0c;是只读的&#xff0c;不能写&…

Aigtek高压放大器是什么东西做的

在许多电子应用中&#xff0c;需要将低电压信号放大到较高电压以满足特定的需求。为了实现这个目标&#xff0c;高压放大器被广泛采用。高压放大器是一种专用电子设备&#xff0c;使用特定的电路和器件来增益输入信号的电压。它通常由以下几个主要组成部分构成。 电源供应 高压…

C# Onnx yolov8-obb 旋转目标检测

目录 效果 模型信息 项目 代码 下载 C# Onnx Yolov8-OBB 旋转目标检测 效果 模型信息 Model Properties ------------------------- date&#xff1a;2024-02-26T08:38:44.171849 description&#xff1a;Ultralytics YOLOv8s-obb model trained on runs/DOTAv1.0-ms.ya…

TextCNN:文本分类卷积神经网络

模型原理 1、前言2、模型结构3、示例3.1、词向量层3.2、卷积层3.3、最大池化层3.4、Fully Connected层 4、总结 1、前言 TextCNN 来源于《Convolutional Neural Networks for Sentence Classification》发表于2014年&#xff0c;是一个经典的模型&#xff0c;Yoon Kim将卷积神…

B站UP视频播放数据分析之然冉创业说

【背景介绍】 几年前做过类似的分析&#xff0c;但是B站数据加密了&#xff0c;刚好最近在用selenium&#xff0c;就顺手用它爬一下数据。 df pd.read_excel("然冉创业说_13.2万_output.xlsx") df.head() 以上数据在视频播放页面就可以获取到。 【数据分析】 从数…

sqli-labs(less-46)order by 注入

我们打开sql-labs的第46关然后在输入框内输入?id1时会发现页面没有任何的变化&#xff0c;此时我们用Visual Studio Code查看第46关的代码 此时我们发现sql语句是$sql "SELECT * FROM users ORDER BY $id"; &#xff0c;所以现在我们需要了解一下order by语句的作…

Helm vs Kustomize 深度比较

Helm和Kustomize都是流行的Kubernetes集群部署管理工具&#xff0c;本文比较了两者的优缺点&#xff0c;方便读者根据项目实际情况采用适合的方案。原文: Helm vs Kustomize: why, when, and how[1] 挑战 开始讨论之前&#xff0c;先来看看为什么要使用 Helm 或 Kustomize。 这…

AI数字人SadTalker实战

1.概述 AI数字人在营销和品牌推广中扮演着至关重要的角色&#xff0c;许多企业和个人正积极利用数字技术来打造属于自己的财富。有没有一种简单而免费的方式来创建自己的数字人呢&#xff1f;本篇博客笔者将为大家介绍如何搭建属于自己的AI数字人。 2.内容 2.1 什么是SadTalker…

Windows部署WebDAV服务并映射到本地盘符实现公网访问本地存储文件

文章目录 前言1. 安装IIS必要WebDav组件2. 客户端测试3. 使用cpolar内网穿透&#xff0c;将WebDav服务暴露在公网3.1 安装cpolar内网穿透3.2 配置WebDav公网访问地址 4. 映射本地盘符访问 前言 在Windows上如何搭建WebDav&#xff0c;并且结合cpolar的内网穿透工具实现在公网访…

【DL】深度学习之语音识别

目录 1 核心概念 2 安装依赖库 3 实践 语音信号处理&#xff08;Speech Signal Processing&#xff09;简称语音处理。 语音识别&#xff08;ASR&#xff09;和自然语言处理&#xff08;NLP&#xff09;&#xff1a;语音识别就是将语音信号转化成文字文本&#xff0c;简单实…

解决启动服务报./nginx -s reload nginx: [emerg] unknown directive “错误

重启服务报错 bug: ./nginx -s reload nginx: [emerg] unknown directive "? 原因&#xff1a; 一、可能打开没有关闭 二、刚刚编辑的没成功&#xff0c;乱码了&#xff0c;格式问题&#xff0c;重新配置

汇标网系统搭建,让知识产权保护更智能、更便捷!

据国家商标局统计发布&#xff0c;2023年四季度我国商标申请量达到了6,988,704件&#xff0c;有效商标注册量为44,047,071件&#xff01; 商标作为企业的重要资产&#xff0c;现在不仅企业、个体户、个人等等&#xff0c;都想在商标市场分得一杯羹。 目前&#xff0c;国家和社会…

多模态表征中的里程碑—CLIP及中文版Chinese-CLIP:理论揭秘、代码微调与论文阅读 (视觉与语义的奇妙共舞~)

我之前一直在使用CLIP/Chinese-CLIP&#xff0c;但并未进行过系统的疏导。这次正好可以详细解释一下。相比于CLIP模型&#xff0c;Chinese-CLIP更适合我们的应用和微调&#xff0c;因为原始的CLIP模型只支持英文&#xff0c;对于我们的中文应用来说不够友好。Chinese-CLIP很好地…

【深度学习笔记】深度学习训练技巧

深度学习训练技巧 1 优化器 随机梯度下降及动量 随机梯度下降算法对每批数据 ( X ( i ) , t ( i ) ) (X^{(i)},t^{(i)}) (X(i),t(i)) 进行优化 g ∇ θ J ( θ ; x ( i ) , t ( i ) ) θ θ − η g g\nabla_\theta J(\theta;x^{(i)},t^{(i)})\\ \theta \theta -\eta g g…

leetcode:491.递增子序列

1.误区&#xff1a;不能直接对数组排序再求解子集&#xff0c;因为那样就改变了原有数组的顺序 2.树形结构&#xff1a;一个一个取数&#xff0c;然后保证是递增序列&#xff0c;且不能重复。&#xff08;数层上不可以重复取&#xff0c;树枝上可以重复取&#xff09;收集的结…

[蜥蜴书Chapter2] -- 下载和加载数据

目录 一、下载和加载数据的函数代码 二、代码说明 1、urllib.request.urlretrieve 2、extractall 三、如何调用函数 四、查看数据的结构 1、head函数&#xff1a; 2、info函数&#xff1a; 3、describe函数&#xff1a; 4、绘制柱状图&#xff1a; 一、下载和加载数据…

迁移学习帮大忙!成都理工大学搭建 SCDUNet++ 模型进行滑坡测绘

滑坡是最常见的自然灾害之一&#xff0c;通常由地震和降雨引发&#xff0c;会造成严重的财产损失和人员伤亡。由地震触发的山体滑坡所造成的破坏&#xff0c;有时会比地震本身造成的破坏更为严重。大型地震发生之后&#xff0c;快速、准确地开展滑坡测绘工作 (landslide mappin…

ABAP - Function ALV 05 添加选择框列、全选、取消全选

很多用户不习惯原生GRID的选择模式&#xff0c;所以业务需要用到自定义的选择框来进行数据的操作&#xff0c;显示效果如图所示&#xff0c;增加一条选择列&#xff0c;且配置全选和全选全选的按钮功能&#xff0c;如下图所示。 实现这种功能需要用到Fieldcat的参数控制以及GUI…

18 SpringMVC实战

18 SpringMVC实战 1. 课程介绍2. Spring与Spring MVC环境配置 1. 课程介绍 2. Spring与Spring MVC环境配置