首页 > 其他分享 >[数组]——移除元素

[数组]——移除元素

时间:2023-02-07 20:25:43浏览次数:45  
标签:val nums int 复杂度 元素 数组 移除

【数组】——移除元素

由于数组的存储空间是连续的,不能直接删除元素,只能覆盖

暴力解法:
1.获得数组长度
2.开始第一层循环,寻找要删除的元素(遍历数组元素)
3.寻找到删除元素,开始第二层循环,该元素后的数依次相前移(更新数组)
3.返回数组当前长度

时间复杂度为\(O(n^2)\),空间复杂度为\(O(1)\)

class Solution(object):
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        size = len(nums)
        i=0
        while i<size:
            if nums[i] == val:
                j=i+1
                while j<size:
                    nums[j-1] = nums[j]
                    j=j+1
                i=i-1
                size=size-1
            i=i+1
        return size

双指针法:
1.

时间复杂度\(O(n)\),空间复杂度\(O(1)\)

class Solution(object):
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        slow=0
        fast=0
        size=len(nums)
        while fast<size:
            if val != nums[fast]:
                nums[slow] = nums[fast]
                slow+=1
            fast+=1
        return slow

标签:val,nums,int,复杂度,元素,数组,移除
From: https://www.cnblogs.com/z-qhhh/p/17099673.html

相关文章

  • java 二维数组
      一个[代表是一维数组,I代表是int型,@后面跟的是地址; ......
  • C语言填空:矩阵主次对角线置1和-1,其他元素为0
    #include<stdio.h>//程序功能:输入一个6*6矩阵,将其主对角线上的元素置1,次对角线置-1,其余元素为0main(){int【1】;inti,j;for(i=0;【2】;i++){......
  • Vue中操作数组的七个函数
    1.push()//向数组的末尾添加一个或者多个元素,并返回新的长度2.pop()//删除并返回数组的最后一个元素3.shift()//删除并返回数组的第一个元素4......
  • 26-稀疏数组
    0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0......
  • PHP对数组的高级遍历和操作处理方法
    PHP对数组的处理可以称为该语言最有吸引力的特性之一,它支持70多种数组相关的函数。不论你想翻转一个数组、判断某个值在数组中是否存在、将数组转换成一个字符串还是计算数......
  • javaScript DOM - innerText与innerHtml,操作元素的属性,节点的获取,创建,添加,删除,修改
    1.innerText与innerHTML//替换元素里面的内容成文字document.querySelector(".main").innerText="文字";//替换元素里面的内容成标签document.querySelector(".main")......
  • 1.6 通过地址和索引实现数组
    CPU把基址寄存器+变址寄存器的值解释为实际查看的内存地址。变址寄存器的值就相当于高级编程语言程序中数组的索引功能。数组是指同样长度的数据在内存中进行连续排列的数......
  • PHP数组使用、特性、函数的总结
    包含其他数组的数组成为多维数组关联数组(即非数字索引数组)使用更有意义的数据作为数组的索引1、数组索引数组$products = array(‘a’, ‘b’, ‘c’);//就像一个......
  • 数组扩容与数组拷贝
    前言在上一篇文章中,千锋壹哥给大家讲解了数组的创建、初始化及遍历方式,这些是我们学习数组的基础。其实数组的内容非常多,今天这篇文章,千锋壹哥主要带大家学习数组的扩容、......
  • 数组的find方法 ES6 230207
    数组的find方法接收一个方法体方法体收一个参数这个参数作为数组的成员返回一个布尔值如果布尔值的结果为真那么查找成功并中止继续下一个成员的查找......