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

【LeetCode:26. 删除有序数组中的重复项 | 双指针】

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 双指针
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

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

⛲ 题目描述

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

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

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

系统会用下面的代码来测试你的题解:

int[] nums = […]; // 输入数组
int[] expectedNums = […]; // 长度正确的期望答案

int k = removeDuplicates(nums); // 调用

assert k == expectedNums.length;
for (int i = 0; i < k; i++) {
assert nums[i] == expectedNums[i];
}
如果所有断言都通过,那么您的题解将被 通过。

示例 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 。不需要考虑数组中超出新长度后面的元素。

提示:

1 <= nums.length <= 3 * 104
-104 <= nums[i] <= 104
nums 已按 非严格递增 排列

🌟 求解思路&实现代码&运行结果


⚡ 双指针

🥦 求解思路
  1. 该题目我们可以通过双指针来求解,一个指针 i 进行数组遍历,另外一个指针 j 指向有效数组的最后一个位置。只有当 i 所指向的值和 j 不相等,才将 i 的值添加到 j 的下一位置。
  2. 实现代码如下。
🥦 实现代码
class Solution {public int removeDuplicates(int[] nums) {int n=nums.length;int j=0;for(int i=0;i<n;i++){if(nums[i]!=nums[j]){nums[++j]=nums[i];}}return j+1;}
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

相关文章:

【LeetCode:26. 删除有序数组中的重复项 | 双指针】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

如何判断一个对象是不是一个空对象?

在JavaScript中&#xff0c;可以使用以下方法来判断一个对象是否为空对象&#xff1a; 1&#xff1a;使用Object.keys()方法&#xff1a;Object.keys()方法返回一个包含对象自身可枚举属性的数组。通过判断该数组的长度&#xff0c;可以确定对象是否为空对象。 function isEm…...

C/C++ “variable set but not used“的 警告问题解决方案

在编程的过程中&#xff0c;会有一些预留的变量暂时不用&#xff0c;但是编译过程编译器警告 会报错无法编译通过针对这个问题&#xff0c;采用下面的解决方案比较方便。 错误如下形式&#xff1a; 三种解决方法&#xff1a; 1.可以在变量前加上&#xff08;void&#xff09;就…...

JAVA安全入门之反射

反射 对于反射这个概念来说&#xff0c;直白的讲就是&#xff1a; 对象可以通过反射获取他的类&#xff0c;类可以通过反射拿到所有⽅法&#xff08;包括私有&#xff09;&#xff0c;拿到的⽅法可以调⽤而众所周知 JAVA 是一门静态语言&#xff0c;我们通过反射就可以达到动…...

【c++|opencv】一、基础操作---2.图像信息获取

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 图像信息获取&#xff0c;roi 1. 图像信息获取 // 获取图像信息#include <iostream> #include <opencv2/opencv.hpp>using namespace cv; …...

HarmonyOS开发:探索组件化模式开发

前言 组件化一直是移动端比较流行的开发方式&#xff0c;有着编译运行快&#xff0c;业务逻辑分明&#xff0c;任务划分清晰等优点&#xff0c;针对Android端的组件化&#xff0c;之前有比较系统的总结过相关文章&#xff0c;感兴趣的朋友&#xff0c;可以查看&#xff0c;点击…...

目标URL启用了不安全的HTTP方法

修复中危web项目漏洞&#xff08;目标URL启用了不安全的HTTP方法&#xff09; 漏洞名 &#xff1a;目标URL启用了不安全的HTTP方法 等级&#xff1a; 中危 漏洞位置&#xff1a; PUT DELETE 描述&#xff1a; Web服务器配置为允许使用危险的HTTP方法&#xff0c;如PUT、MOVE、…...

大数据之LibrA数据库系统告警处理(ALM-12001 审计日志转储失败)

告警解释 根据本地历史数据备份策略&#xff0c;集群的审计日志需要转储到第三方服务器上。如果转储服务器满足配置条件&#xff0c;审计日志可以成功转储。审计日志转储失败&#xff0c;系统产生此告警。如果第三方服务器的转储目录磁盘空间不足&#xff0c;或者用户修改了转…...

大模型该被知道的技术实现-面向垂直领域

一个高度清晰的思维导图截图奉上&#xff08;下载&#xff1a;需3积分&#xff09; 内容截图...

赛灵思产品系列

FPGA概述&#xff1a; FPGA的性能主要划分为以下几个方面&#xff1a; 1. 逻辑单元数量&#xff1a;逻辑单元数量越多&#xff0c;FPGA的处理能力越强。 2. 存储单元数量&#xff1a;存储单元数量越多&#xff0c;FPGA的存储能力越强。 3. 时钟频率&#xff1a;时钟频率越高&a…...

[Linux C] signal 的使用

前言&#xff1a; signal 是一种通信机制&#xff0c;可以跨进程发送&#xff0c;可以同进程跨线程发送&#xff0c;可以不同进程向指定线程发送。 信号的创建有两套api&#xff0c;一个是signal&#xff0c;一个是sigaction&#xff0c;signal缺陷很多&#xff0c;比如没有提…...

AI时代产品经理升级之道:ChatGPT让产品经理插上翅膀

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 AI时代的产品经理面临着…...

计算机网络重点概念整理-第七章 网络安全【期末复习|考研复习】

计算机网络复习系列文章传送门&#xff1a; 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称&缩写 文章目录 前言七、网络安全7.1网络安全7.2 网络威胁7.3 加密7.3.1 对称加密7.3.…...

【LeetCode力扣】42. 接雨水

目录 1、题目介绍 2、解题思路 2.1、暴力破解法 2.2、双指针法 1、题目介绍 原题链接&#xff1a; 42. 接雨水 - 力扣&#xff08;LeetCode&#xff09; 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1]输出&#xff1a;6解释&#xff1a;上面是由…...

03、SpringCloud -- 动态倒计时 及 当前用户的获取(用户未登录提示其登录)

目录 动态倒计时需求思路代码效果优化获取当前登录用户思路代码前端后端controllerservice接口impl实现效果问题修改动态倒计时 需求 根据不同时间展示不同状态,动态显示时间,如原型图: 思...

Mac用户心目中的四款首选原型工具

Wireframe、Mockup和prototype在原型工具中有什么区别&#xff1f; 无论你是刚进入这个行业的UX/UI设计师&#xff0c;还是已经进入这个行业多年的老手&#xff0c;你都必须在制作原型的过程中接触或听到三个非常重要的原型术语&#xff1a;“wireframe(线框图)Mockup”或“pr…...

国内内卷太严重,还不考虑一下在海外接单?那这几个平台你知道吗?

作为一个程序员&#xff0c;在平台上接单赚点外快是再正常不过的事情了&#xff0c;但是现今国内各个平台都内卷比较严重&#xff0c;你是否考虑过去“外面的世界”看看&#xff1f; 如果想过&#xff0c;那么这几个外国的接单平台你都知道吗&#xff1f; 接下来就和我一起来看…...

在excel中如何打出上标、下标

例如&#xff0c;想把A2的2变为下标。 在单元中输入内容&#xff1a; 选中2&#xff1a; 右键单击&#xff0c;然后点击“设置单元格格式”&#xff1a; 在特殊效果的下面勾选“下标”&#xff0c;然后点击下面的“确定”按钮&#xff1a; 就将2变为下标了&#xff1a;…...

LoongArch 五级流水线实现

在单周期的基础上进行拆分成取指、译码、执行、访存、写回五级流水线。 mycpu_top.v include "mycpu.h"module id_stage(input clk ,input reset ,//allowininput …...

「Qt中文教程指南」如何创建基于Qt Widget的应用程序(四)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 本文描述了如何使用…...

PingFangSC字体工程化:从跨平台渲染挑战到企业级解决方案

PingFangSC字体工程化&#xff1a;从跨平台渲染挑战到企业级解决方案 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件&#xff0c;包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 一、问题诊断&#xff1a;揭开字体渲…...

保姆级教程:用Python复现MIT Cheetah的刚体模型与正运动学(附代码)

从零实现MIT Cheetah四足机器人刚体建模与运动学仿真 四足机器人一直是机器人领域的热门研究方向&#xff0c;而MIT Cheetah作为开源四足机器人中的佼佼者&#xff0c;其设计理念和算法实现值得每一位机器人爱好者深入研究。本文将带你从零开始&#xff0c;用Python完整实现MI…...

金士顿SA400S37固态硬盘掉盘自救指南:手把手教你用phison_flash_id修复固件(附工具包)

金士顿SA400S37固态硬盘掉盘故障深度修复手册 固态硬盘突然"消失"在系统中&#xff1f;金士顿SA400S37系列用户可能正遭遇典型的固件故障。这种问题通常表现为硬盘在BIOS中时隐时现、系统仅识别为20MB容量或直接无法初始化。不同于物理损坏&#xff0c;这类固件级故障…...

Wan2.2-I2V-A14B开源大模型部署:PyTorch 2.4+CUDA 12.4兼容性验证

Wan2.2-I2V-A14B开源大模型部署&#xff1a;PyTorch 2.4CUDA 12.4兼容性验证 1. 镜像概述与核心价值 Wan2.2-I2V-A14B是一款专注于文本到视频生成的开源大模型&#xff0c;其私有部署镜像经过深度优化&#xff0c;能够充分发挥RTX 4090D显卡的性能优势。这个镜像最大的特点在…...

终极指南:gh_mirrors/log/log构建流程解析:从CoffeeScript到Grunt自动化

终极指南&#xff1a;gh_mirrors/log/log构建流程解析&#xff1a;从CoffeeScript到Grunt自动化 【免费下载链接】log Console.log with style. 项目地址: https://gitcode.com/gh_mirrors/log/log 如何快速构建优雅的控制台日志工具&#xff1f;gh_mirrors/log/log项目…...

NVMe-CLI:Linux系统下NVMe固态硬盘管理的瑞士军刀

NVMe-CLI&#xff1a;Linux系统下NVMe固态硬盘管理的瑞士军刀 【免费下载链接】nvme-cli NVMe management command line interface. 项目地址: https://gitcode.com/gh_mirrors/nv/nvme-cli 你是否曾经为Linux系统中的NVMe固态硬盘管理而烦恼&#xff1f;想要查看设备健…...

千问3.5-9B视觉模型快速部署指南:单卡RTX 4090D实测可用

千问3.5-9B视觉模型快速部署指南&#xff1a;单卡RTX 4090D实测可用 1. 开篇&#xff1a;为什么选择千问3.5-9B视觉模型&#xff1f; 如果你正在寻找一个能够理解图片内容的中文多模态模型&#xff0c;千问3.5-9B视觉版&#xff08;Qwen3.5-9B-VL&#xff09;值得你关注。这个…...

从一篇TIE论文的稳定性分析入手,手把手复现Bode图判据的MATLAB实现

从TIE论文案例到MATLAB实践&#xff1a;Bode图判据的稳定性分析全解析 在电力电子系统设计中&#xff0c;LCL型并网逆变器的稳定性分析一直是工程师面临的挑战。2015年发表在IEEE Transactions on Industrial Electronics上的那篇经典论文&#xff0c;为我们提供了一个绝佳的研…...

GitHub资源精准下载:DownGit实现90%带宽节省的技术方案

GitHub资源精准下载&#xff1a;DownGit实现90%带宽节省的技术方案 【免费下载链接】DownGit github 资源打包下载工具 项目地址: https://gitcode.com/gh_mirrors/dow/DownGit 在开源开发流程中&#xff0c;开发者经常需要从GitHub仓库获取特定文件夹资源。传统方式下&…...

5分钟终极指南:Windows虚拟手柄驱动ViGEmBus完整教程

5分钟终极指南&#xff1a;Windows虚拟手柄驱动ViGEmBus完整教程 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 想要在Windows系统上享受专业级的游戏控制体…...