2025/1/2 【双指针法】LeetCode27.移除元素 【√】 ❗未完结❗

news/2025/1/7 2:20:16/文章来源:https://www.cnblogs.com/spp20/p/18647423

27. 移除元素 - 力扣(LeetCode)

代码随想录

数组的元素在内存地址中是连续的,不能单独删除数组中的某个元素,只能覆盖。

My answer:快慢指针法

class Solution:def removeElement(self, nums: List[int], val: int) -> int:n = len(nums)j = 0for i in range(n):if nums[i] != val:nums[j] = nums[i]j += 1return j

i是快指针(fast),j是慢指针(slow)

解法2:暴力解法

class Solution:def removeElement(self, nums: List[int], val: int) -> int:n = len(nums)i = 0while i < n:if nums[i] == val:for j in range(i+1, n): #发现需要移除的元素,就将数组集体向前移动一位nums[j-1] = nums[j]i -= 1 #注意:因为下标i以后的数值都向前移动了一位,所以i也向前移动一位n -= 1 i += 1 return n 

解法3:相向双指针法

 

 相关题目推荐:

26. 删除有序数组中的重复项 - 力扣(LeetCode)

283. 移动零 - 力扣(LeetCode)

844. 比较含退格的字符串 - 力扣(LeetCode)

977. 有序数组的平方 - 力扣(LeetCode)

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025/1/2 【双指针法】LeetCode27.移除元素 【√】

27. 移除元素 - 力扣(LeetCode) 代码随想录 数组的元素在内存地址中是连续的,不能单独删除数组中的某个元素,只能覆盖。 My answer:快慢指针法class Solution:def removeElement(self, nums: List[int], val: int) -> int:n = len(nums)j = 0for i in range(n):if nums…

招银网络一面,有点难度!

这是一位武汉理工大学同学的招银网络一面面经,同样附带超详细的参考答案。大家可以用来查漏补缺,针对性地补短板。 招银网络一面还是比较简单的,基本都是一些比较重要且高频的常规八股,项目问的不多。到了二面的时候, 会开始主要考察你的项目。1、自我介绍 自我介绍一般是…

【日记】2025 年的第一天!!!!(1688 字)

正文嗯…… 经过实践,以后还是把涩涩放到晚上好了,下午涩涩完就只想睡觉了。一天的元旦假期,下午就睡过去了哈哈哈哈哈哈哈哈哈。今天也没干什么,上午加了班,吃午饭,下午咳咳,睡了一觉,吃晚饭,然后看了两节内科学的视频。我不确定该不该勾掉总论部分。唐子益的内科学暂…

BOE(京东方)“向新2025”年终媒体智享会落地深圳 “屏”实力赋能产业创新发展

12月27日,BOE(京东方)“向新 2025”年终媒体智享会的收官之站在创新之都深圳圆满举行,为这场为期两周、横跨三地的年度科技盛会画上了完美句号。活动期间,全面回顾了 BOE(京东方)2024年在多个关键领域取得的卓越成绩,深入剖析其在六大维度构建的“向新”发展格局,精彩…

linux mint安装Idea

一、前言 这一节我们介绍在Linux下如何安装与破解Intellij idea2017。现在有很多公司开发环境都是Linux,所以掌握在Linux环境下使用Idea办公也是咱们必须得掌握的技能。 记住我们下载的是Ultimate(旗舰版),不是Community(社区版)。Ultimate(旗舰版)是收费的版本,本文主要是针…

linux mint下安装截图工具

在linux下尝试了多款截图工具,综合下来,觉得shutter是最好用的,推荐大家使用。 Shutter 是一个强大的截图工具,强大的功能集成到一个直观的简洁界面,应用程序自带多个区域截图(如全屏,选择界面,活动窗口,网站等),方便应用功能,以及有众多插件和上传到Web服务的功能…

linux mint安装eclipse

安装eclipse之前需要先安装配置jdk,参考上面, 一、Eclipse的下载与安装 1、首先,在Eclipse的官网中下载最新版的Luna SR2http://www.eclipse.org/downloads/packages/release/Luna/SR2(点击打开链接)直接下载最新版的Eclipse for JavaEE Linux 32bit/64bit,Eclipse各个版…

Vue 不同版本的vue

1、vue.js与vue.runtime.xxx.js的区别 a、vue.js是完整版的Vue,包含:核心功能和模板解析器。 b、vue.runtime.xx.js是运行版的vue。只包含核心功能,没有模板解析器 2、因为rvue.runtime.xxx.js没有模板解析器,所以不能使用template配置项,需要使用render函数接收到的creat…

视频分析框架VideoPipe完整介绍

(2024年4月编写) github地址 https://github.com/sherlockchou86/video_pipe_c 作者微信 zhzhi78(备注 videopipe),拉群交流(1000人群),及时获取代码更新。 网站介绍 http://www.videopipe.cool/ 配套教程 http://www.videopipe.cool/index.php/2024/09/11/videopipetu…

linux mint安装Scala

Scala由java编写,需要前期安装jdk 面向函数式编程 1、下载 Scala 二进制包2.11.8 http://www.scala-lang.org/downloads 解压到/usr/local/SoftWare/scala-2.11.8 2、配置环境变量 sudo gedit /etc/profile 3、使设置生效 source /etc/profileIdea配置scala file ==setting== …

DirectX 修复工具 V4.3 绿色增强版:完美解决 DirectX 和 C++ 问题(修复 0xc000007b 错误)

DirectX 修复工具 V4.3 绿色增强版:完美解决 DirectX 和 C++ 问题 简介 DirectX 修复工具是一款专为检测和修复 DirectX 问题而设计的实用工具。它能够精准定位问题并进行高效修复,特别是针对 0xc000007b 错误,拥有极高的修复成功率。本工具支持所有版本 DirectX 修复,同时…

2025年:新起点,新愿景

随着2025年的钟声即将敲响,企业们正站在新的起点上,准备迎接未来的挑战与机遇。在这个快速变化的时代,如何制定一个清晰、可执行且能激励团队的年度规划成为了每个企业成功的关键因素之一。而目标管理(OKR)作为一种高效的目标设定方法,正在越来越多的企业中得到应用,它不…