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

数组_移除元素

数组_移除元素

  • 一、leetcode-27
  • 二、题解
    • 1.代码
    • 2.思考


一、leetcode-27

移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。

假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:

  • 更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。
  • 返回 k。

样例输入:nums = [3,2,2,3], val = 3

样例输出: 2, nums = [2,2,,]

解释:你的函数函数应该返回 k = 2, 并且 nums 中的前两个元素均为 2。
你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。


二、题解

1.代码

class Solution {
public:int removeElement(vector<int>& nums, int val) {int slow=0,fast=0;while(fast<nums.size()){if(nums[fast]!=val){nums[slow++]=nums[fast];}fast++;}return slow;}
};

2.思考

使用快慢指针不需要每次都把后面所有的元素往前移,这样只要遍历一次
当快指针等于val,什么都不做直接后移fast
当快指针不等于val,把值赋给慢指针,快慢指针一起后移

http://www.lryc.cn/news/536625.html

相关文章:

  • Vue2/Vue3分别如何使用Watch
  • C++从入门到实战(四)C++引用与inline,nullptr
  • Linux库制作与原理:【静态库】【动态库】【目标文件】【ELF文件】【ELF从形成到假造轮廓】【理解链接和加载】
  • 项目BUG
  • wordpress部署nginx版的
  • 【鸿蒙Next】优秀鸿蒙博客集锦
  • 【第2章:神经网络基础与实现——2.1 前馈神经网络的结构与工作原理】
  • python-leetcode-阶乘后的零
  • Python:学生管理系统(继承性、多态性)。
  • 网络安全RSA加密
  • Vue学习笔记4
  • mariadb数据库的安装与部署
  • 单调队列与栈
  • Matlab 多项式曲线拟合(三维)
  • 机器翻译同样的文本,是从英语翻译成日语更准确还是中文翻译成日语更准确
  • MAC 系统关屏幕后电量消耗极快 Wake Requests
  • golangAPI调用deepseek
  • 提供可传递的易受攻击的依赖项
  • 2.14学习记录
  • xpath定位--鼠标悬停显示的按钮
  • 鸿蒙Harmony打包脚本使用整理
  • 【C语言】C语言 停车场管理系统的设计与实现(源码)【独一无二】
  • 在Autonomous DB中创建训练数据集
  • Adapting to Length Shift: FlexiLength Network for Trajectory Prediction
  • 张量循环运算:内存溢出原因及解决
  • 【Qt】:概述(下载安装、认识 QT Creator)
  • 11、《Web开发性能优化:静态资源处理与缓存控制深度解析》
  • 【Linux】多线程 -> 从线程概念到线程控制
  • 用什么办法能实现ubuntu里面运行的自己开发的python程序能自动升级。
  • java处理pgsql的text[]类型数据问题