首页 > 其他分享 >27 移除元素

27 移除元素

时间:2022-09-02 12:46:09浏览次数:94  
标签:27 nums 元素 fast slow 数组 移除 指针

题目27 移除元素

思路:

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组
要知道数组的元素在内存地址中是连续的,不能单独删除数组中的某个元素,只能覆盖。

双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。

定义快慢指针:
快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组
慢指针:指向更新 新数组下标的位置

代码

class Solution:
    def removeElement(self, nums: List[int], val: int) -> int:
        slow = 0
        fast = 0
        nums_len = len(nums)
        while fast < nums_len:
            if nums[fast] == val:
                fast += 1
            else:
                nums[slow] = nums[fast]
                fast += 1
                slow += 1
        return nums[slow]  # 不是nums[slow+1],因为上面循环的时候slow多循环了一步

标签:27,nums,元素,fast,slow,数组,移除,指针
From: https://www.cnblogs.com/edkong/p/16649439.html

相关文章

  • 27 | JAVA集合TreeMap(Map接口下除HashMap实现的另一种实现)
    TreeMap我们已经知道,HashMap是一种以空间换时间的映射表,它的实现原理决定了内部的Key是无序的,即遍历HashMap的Key时,其顺序是不可预测的(但每个Key都会遍历一次且仅遍历一次......
  • 遍历数组元素
    1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title></title>6</head>7<body>8<script>9......
  • 求数组元素的和
    1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title></title>6</head>7<body>8<script>9......
  • 操,26-27-28-29-30-31-9-1,操一眨眼七天过去了!!!
    操,26-27-28-29-30-31-9-1,操一眨眼七天过去了!!! 操,我感觉距离上次写博客反省才刚刚过去,我竟然不知道干了什么都!!!!!!我今天干了什么?上午,我忘了。。我想起来了,上午坐那看盘,看......
  • After Effects 教程,如何在 After Effects 中移除静态对象?
    欢迎观看AfterEffects中文版教程,小编带大家学习AfterEffects的基本工具和使用技巧,了解如何在AE中移除静态对象。在AfterEffects中使用VRCompEditor从任何......
  • 屏幕深度 自定义深度 纹理元素
      SceneTexture节点,可以帮助我们获取很多信息,例如像素深度,法线,自定义深度,后处理输入,粗糙度,金属值等借助SceneTexture节点中的SceneDepth,我们获取到了渲染像素在屏幕......
  • Flask 学习-27.flask_jwt_extended插件学习current_user的使用
    前言flask_jwt_extended最基本的使用只需要掌握三个函数:create_access_token()用来创建Token令牌get_jwt_identity()用来根据令牌取得之前的identity信息jwt_r......
  • 获取数组元素
    这里有一个数组叫a1,数组内容为'red','green','yellow'。如果想直接获取'yellow',可通过他们的标号来获取,因为每一个值都是有标号的,从0开始,0,1,2,3……数组内容的标号......
  • python 修改列表元素
    修改列表的元素时,可以使用for循环结合range n=int(input())list_b=[[1,2,3],[4,5,6],[7,8,9]]foriinrange(len(list_b)):  foryinrange(len(l......
  • app自动化测试(iOS)元素定位(新手篇)
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取除了通用定位方式外,iOS还有其他特殊的定位方式,本章节仅介绍iOS特有定位。PredicateString......