当前位置: 首页 > news >正文

力扣 —— 删除有序数组中的重复项

题目思路

两个指针,一个是游标的功能,负责遍历整个数组,一个是定位器的功能,如果有相等的则表示定位器目前指向的元素是重复的,定位器不动,等待游标往下找到不重复的数填充进来,因为游标会遍历整个数组且总是比定位器快,所以数组中的一个元素被游标遍历后就没用了,直接把不重复的数塞到定位器位置,定位器同步往后挪,最后定位器的位置+1就是去重数组的长度。

题目一 (简单)

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

示例 1:

输入:nums = [1,1,2]
输出:2, nums = [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]
解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4 。不需要考虑数组中超出新长度后面的元素。

答案

class Solution {public int removeDuplicates(int[] nums) {if (nums.length == 0) return 0;int slow = 0, fast = 1;while (fast < nums.length) {if (nums[slow] != nums[fast])nums[++slow] = nums[fast];fast++;}return slow+1;}
}

题目二 (中等)

  1. 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。
  2. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1)额外空间的条件下完成。

示例 1:

输入:nums = [1,1,1,2,2,3]
输出:5, nums = [1,1,2,2,3]
解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。 不需要考虑数组中超出新长度后面的元素。

示例 2:

输入:nums = [0,0,1,1,1,1,2,3,3]
输出:7, nums = [0,0,1,1,2,3,3]
解释:函数应返回新长度 length = 7, 并且原数组的前七个元素被修改为 0, 0, 1, 1, 2, 3, 3。不需要考虑数组中超出新长度后面的元素

答案

class Solution {public int removeDuplicates(int[] nums) {int slow = 1;for(int fast=2; fast<nums.length; fast++){  // fast从2开始,因为前两个必定是要的if(nums[fast] == nums[slow] && nums[slow] == nums[slow-1]){  // 出现了第三个重复的continue;}nums[++slow] = nums[fast];}return slow + 1; }
}

相关文章:

力扣 —— 删除有序数组中的重复项

题目思路 两个指针&#xff0c;一个是游标的功能&#xff0c;负责遍历整个数组&#xff0c;一个是定位器的功能&#xff0c;如果有相等的则表示定位器目前指向的元素是重复的&#xff0c;定位器不动&#xff0c;等待游标往下找到不重复的数填充进来&#xff0c;因为游标会遍历…...

rmdir :删除空文件夹

一、命令简介 在 Linux 系统中&#xff0c;rmdir​ 命令用于删除空目录&#xff08;文件夹&#xff09;。 ‍ 二、命令参数 rmdir 目录‍ 三、命令示例 删除名为 dir1​ 的空目录&#xff1a; rmdir dir1删除多个空目录&#xff1a; rmdir dir1 dir2 dir3注意事项&#xf…...

网络爬虫Request静态页面数据获取

在现代 Web 开发中,HTTP 请求(Request)是与服务器进行通信的核心操作。无论是在前端还是后端开发中,数据的获取、传递以及处理都离不开请求的应用。特别是在静态页面的数据获取中,使用请求可以将页面变得更加动态和互动,从而大大提升用户体验,使得页面内容更加丰富和灵活…...

网页聊天——测试报告——Selenium自动化测试

一&#xff0c;项目概括 1.1 项目名称 网页聊天 1.2 测试时间 2024.9 1.3 编写目的 对编写的网页聊天项目进行软件测试活动&#xff0c;揭示潜在问题&#xff0c;总结测试经验 二&#xff0c;测试计划 2.1 测试环境与配置 服务器&#xff1a;云服务器 ubuntu_22 PC机&am…...

mysql5.7常用操作命令手册

文章目录 前言一、关闭mysql服务1.mha节点,关闭MHA高可用2.主节点&#xff0c;摘掉vip&#xff0c;停掉mysql服务3.从节点&#xff0c;停掉mysql服务 二、启动mysql1.启动数据库顺序2.主节点&#xff0c;登陆数据库检查主库状态,将主库改成读写状态3.从节点启动配置数据库&…...

前端组件库Element UI 的使用

一、准备工作 1.确保安装了开发软件 VS Code&#xff08;此处可查阅安装 VS Code教程&#xff09;&#xff0c;确保相关插件安装成功 2.安装Node.js 和创建Vue项目&#xff08;此处可查阅安装创建教程&#xff09; 3.成功在VS Code运行一个Vue项目&#xff08;此处可查阅运行…...

【C++ 基础数学 】2121. 2615相同元素的间隔之和|1760

本文涉及的基础知识点 基础数学 LeetCode2121. 相同元素的间隔之和 难度分&#xff1a;1760 令2165&#xff0c;和此题几乎相等。 给你一个下标从 0 开始、由 n 个整数组成的数组 arr 。 arr 中两个元素的 间隔 定义为它们下标之间的 绝对差 。更正式地&#xff0c;arr[i] 和…...

从手动测试菜鸟,到自动化测试老司机,实现自动化落地

虽然许多伙伴是一个测试老人了&#xff0c;但是基本上所有的测试经验都停留在手工测试方面&#xff0c;对于自动化测试方面的实战经验少之又少。 其实&#xff0c;究其原因&#xff1a;一方面是&#xff0c;自动化方面不求上进&#xff0c;觉得会手工测试就可以了&#xff0c;自…...

docker zookeeper集群启动报错:Cannot open channel to * at election address /ip:3888

下面几点需要注意的&#xff1a; 1、确认在每个$zookeeper_home/data/myid中有对应数字 2、是否关闭防火墙&#xff1a;systemctl stop firewalld&#xff0c;systemctl disable firewalld 3、zoo.cfg中的server需要写成以下形式的&#xff1a; 假如有两台机器&#xff0c;1…...

【Linux探索学习】第一弹——Linux的基本指令(上)——开启Linux学习第一篇

前言&#xff1a; 在进入Linux学习之前&#xff0c;我们首先要先做好以下两点&#xff1a;1、已经基本掌握C语言或C&#xff0c;2、已经配置好了Linux的环境&#xff0c;做完以上两点后我们就开始Linux的学习&#xff0c;今天我们首先要学习的就是Linux中最基础的操作&#xff…...

3.Vue2结合element-ui实现国际化多语言i18n

1.安装vue-i18n npm install vue-i18n8.2.1说明&#xff1a;Vue2使用vue-i18n是8.x&#xff0c;Vue3使用的版本是9.x以上&#xff0c;使用错了会导致报错 2.创建多语言文件 在src/下创建src/lang/langs/zh.js和src/lang/langs/en.js两个文件&#xff0c;里面内容如下&#x…...

整数二分算法和浮点数二分算法

整数二分算法和浮点数二分算法 二分 现实中运用到二分的就是猜数字的游戏 假如有A同学说B同学所说数的大小&#xff0c;B同学要在1~100中间猜中数字65&#xff0c;当B同学每次说的数都是范围的一半时这就算是一个二分查找的过程 二分查找的前提是这个数字序列要有单调性 基…...

智能回收箱的功能和使用步骤介绍

智能回收箱是现代城市环保与资源循环利用领域的一项创新技术&#xff0c;它通过集成各种智能化功能&#xff0c;提高了垃圾回收的效率和准确性&#xff0c;促进了垃圾分类与减量。随着全球对环境保护意识的增强和智慧城市概念的推广&#xff0c;智能回收箱的发展前景非常广阔&a…...

Remix在SPA模式下,出现ErrorBoundary错误页加载Ant Design组件报错,不能加载样式的问题

Remix是一个既能做服务端渲染&#xff0c;又能做单页应用的框架&#xff0c;如果想做单页应用&#xff0c;又想学服务端渲染&#xff0c;使用Remix可以降低学习成本。最近&#xff0c;在学习Remix的过程中&#xff0c;遇到了在SPA模式下与Ant Design整合的问题。 我用Remix官网…...

ADB ROOT开启流程

开启adb root 选项后&#xff0c;执行如下代码&#xff1a; packages/apps/Settings/src/com/android/settings/development/AdbRootPreferenceController.java mADBRootService new ADBRootService(); Override public boolean onPreferenceChange(Preference preference…...

传输层协议 —— TCP协议(上篇)

目录 1.认识TCP 2.TCP协议段格式 3.可靠性保证的机制 确认应答机制 超时重传机制 连接管理机制 三次握手 四次挥手 1.认识TCP 在网络通信模型中&#xff0c;传输层有两个经典的协议&#xff0c;分别是UDP协议和TCP协议。其中TCP协议全称为传输控制协议&#xff08;Tra…...

YOLOv8改进,YOLOv8的Neck替换成AFPN(CVPR 2023)

摘要 多尺度特征在物体检测任务中对编码具有尺度变化的物体非常重要。多尺度特征提取的常见策略是采用经典的自上而下和自下而上的特征金字塔网络。然而,这些方法存在特征信息丢失或退化的问题,影响了非相邻层次的融合效果。一种渐进式特征金字塔网络(AFPN),以支持非相邻…...

学习大数据DAY59 全量抽取和增量抽取实战

目录 需求流程&#xff1a; 需求分析与规范 作业 作业2 需求流程&#xff1a; 全量抽取 增量抽取 - DataX Kettle Sqoop ... 场景: 业务部门同事或者甲方的工作人员给我们的部门经理和你提出了新的需 求 流程: 联系 > 开会讨论 > 确认需求 > 落地 需求文档( 具体…...

YOLOv8——测量高速公路上汽车的速度

引言 在人工神经网络和计算机视觉领域&#xff0c;目标识别和跟踪是非常重要的技术&#xff0c;它们可以应用于无数的项目中&#xff0c;其中许多可能不是很明显&#xff0c;比如使用这些算法来测量距离或对象的速度。 测量汽车速度基本步骤如下&#xff1a; 视频采集&#x…...

在线相亲交友系统:寻找另一半的新方式

在这个快节奏的时代里&#xff0c;越来越多的单身男女发现&#xff0c;传统意义上的相亲方式已经难以满足他们的需求。与此同时&#xff0c;互联网技术的迅猛发展为人们提供了新的社交渠道——在线相亲交友系统作者h17711347205。本文将探讨在线相亲交友系统如何成为一种寻找另…...

Fast-F1数据洞察:赛车数据分析实战的非传统路径

Fast-F1数据洞察&#xff1a;赛车数据分析实战的非传统路径 【免费下载链接】Fast-F1 FastF1 is a python package for accessing and analyzing Formula 1 results, schedules, timing data and telemetry 项目地址: https://gitcode.com/GitHub_Trending/fa/Fast-F1 你…...

再也不怕消息被撤回!Windows防撤回工具完全使用指南

再也不怕消息被撤回&#xff01;Windows防撤回工具完全使用指南 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitcode.com/…...

专业级跨平台资源下载利器:res-downloader一站式网络资源嗅探解决方案

专业级跨平台资源下载利器&#xff1a;res-downloader一站式网络资源嗅探解决方案 【免费下载链接】res-downloader 资源下载器、网络资源嗅探&#xff0c;支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: http…...

低门槛AI视频生成新选择:opensora-hpcai本地部署与优化指南

低门槛AI视频生成新选择&#xff1a;opensora-hpcai本地部署与优化指南 【免费下载链接】opensora-hpcai-1_0_ms MindSpore implementation of OpenSora, an open-source project that aims to foster innovation, creativity, and inclusivity within the field of content cr…...

量化模型实测:百川2-13B-4bits在OpenClaw复杂任务中的精度损失

量化模型实测&#xff1a;百川2-13B-4bits在OpenClaw复杂任务中的精度损失 1. 测试背景与实验设计 去年在部署本地AI助手时&#xff0c;我遇到一个现实矛盾&#xff1a;大模型的能力与硬件成本难以兼得。当尝试用OpenClaw实现自动化办公流程时&#xff0c;发现13B参数的百川原…...

终极指南:在PC上完美运行PS4游戏的秘密武器

终极指南&#xff1a;在PC上完美运行PS4游戏的秘密武器 【免费下载链接】shadPS4 PS4 emulator for Windows,Linux,MacOS 项目地址: https://gitcode.com/gh_mirrors/shad/shadPS4 你是否曾经梦想过在电脑上畅玩那些只能在PS4上体验的独占大作&#xff1f;今天&#xff…...

Qwen3-32B快速问答体验:128K长文本处理,效果实测

Qwen3-32B快速问答体验&#xff1a;128K长文本处理&#xff0c;效果实测 1. 为什么选择Qwen3-32B进行长文本处理 在当今信息爆炸的时代&#xff0c;处理长文本内容已成为许多企业和研究机构的刚需。Qwen3-32B作为一款320亿参数的大型语言模型&#xff0c;其128K的超长上下文处…...

【稀缺预警】Python 3.14 JIT编译器深度剖析:3类隐性CPU浪费模式+2套自动降本脚本(附真实AWS账单对比图)

第一章&#xff1a;Python 3.14 JIT编译器的演进逻辑与成本敏感性定位Python 3.14 并非官方发布的正式版本&#xff08;截至2024年&#xff0c;CPython最新稳定版为3.12&#xff0c;3.13处于预发布阶段&#xff09;&#xff0c;但本章以假设性技术前瞻视角&#xff0c;探讨若Py…...

学术探险家的秘密武器:书匠策AI,解锁课程论文新宇宙!

在学术的浩瀚星空中&#xff0c;每一位学子都是勇敢的探险家&#xff0c;怀揣着对知识的渴望&#xff0c;踏上探索未知的征途。而课程论文&#xff0c;则是这场探险中不可或缺的“星际导航图”&#xff0c;指引着我们穿越知识的迷雾&#xff0c;抵达真理的彼岸。但你是否曾遇到…...

WaveTools鸣潮工具箱终极指南:画质优化与抽卡分析的完整解决方案

WaveTools鸣潮工具箱终极指南&#xff1a;画质优化与抽卡分析的完整解决方案 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools WaveTools鸣潮工具箱是一款专为《鸣潮》玩家设计的强大辅助工具&#xff0c;它…...