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

面试经典(2/150)移除元素

面试经典(2/150)移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

思路:使用双指针
遍历数组,当前值不是要移除的元素时
将值赋给用来记录的指针,并将慢指针加1
快指针加1

class Solution:def removeElement(self, nums: List[int], val: int) -> int:a = 0#移动指针b = 0#记录指针while a < len(nums):#遍历数组if nums[a] != val:#如果当前值不是指定值nums[b] = nums[a]#将当前值赋给记录指针,不用考虑新长度后边的元素b += 1a += 1return b

参考链接:https://leetcode.cn/problems/remove-element/description/?envType=study-plan-v2&envId=top-interview-150

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

相关文章:

  • 基于JavaWeb+SpringBoot+掌上社区疫苗微信小程序系统的设计和实现
  • python_主动调用其他类的成员
  • Pytorch部分报错问题
  • cmmlu数据处理
  • 【ARM Trace32(劳特巴赫) 使用介绍 2.2 -- TRACE32 进阶命令之 DIAG 弹框命令】
  • 黑马程序员微服务 分布式搜索引擎3
  • Python正则表达式学习笔记(入门)
  • C++核心编程 day09 类型转换、异常、输入输出流
  • Docker安装PostgreSQL
  • py并发编程实践-demo
  • 1-2 暴力破解-模拟
  • 机器学习中的Bagging思想
  • 基于PyTorch搭建你的生成对抗性网络
  • ROS话题(Topic)通信:自定义msg - 例程与讲解
  • 【Vue配置项】 computed计算属性 | watch侦听属性
  • linux 查看命令使用说明
  • ceph修复pg inconsistent( scrub errors)
  • 【论文精读】VOYAGER: An Open-Ended Embodied Agent with Large Language Models
  • Linux安装DMETL5与卸载
  • Office Word 中的宏
  • qt中d指针
  • 交易者最看重什么?anzo Capital这点最重要!
  • window 搭建 MQTT 服务器并使用
  • Prometheus+Ansible+Consul实现服务发现
  • 【原创】java+swing+mysql校园活动管理系统设计与实现
  • vscode中vue项目引入的组件的颜色没区分解决办法
  • uniapp: 实现pdf预览功能
  • 【Pytorch笔记】7.torch.nn (Convolution Layers)
  • MySQL内部组件与日志详解
  • 【LeetCode】94. 二叉树的中序遍历