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

27 移除元素

时间:2022-09-28 23:44:51浏览次数:49  
标签:27 int 复杂度 元素 数组 移除 指针

题目

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

难度:简单

题解

暴力解法:由于数组元素在内存地址上是连续的,不能单独删除数组中的某个元素,只能通过覆盖。使用两层for循环,一个for循环遍历,一个for循环用来更新数组;

int removeElement(int* nums, int numsSize, int val){
   
  for(int i=0;i<numsSize;i++){
      if(nums[i]==val){
          for(int j=i+1;j<numsSize;j++){
              nums[j-1]=nums[j];
             }
              i--;	//因为下标i以后的数值都向前移动了一位,所以i也向前移动一位
              numsSize--;	//此时数组的大小-1
      }
  }
  return numsSize;
}

复杂度分析

  • 时间复杂度:O(n^2)

  • 空间复杂度:O(1)

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

定义快慢指针:

快指针:寻找新指针的元素,新数组就是不含有目标元素的数组。

慢指针:指向更新的新数组下标的位置

int removeElement(int* nums, int numsSize, int val){

  for(int i=0,j=0;i<numsSize;i++){

    if(nums[i]!=val){

	    nums[j]=nums[i];

  	 }
  }

}

复杂度分析

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

标签:27,int,复杂度,元素,数组,移除,指针
From: https://www.cnblogs.com/lazykora/p/16739991.html

相关文章

  • 527 中国剩余定理
     #include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;typedeflonglongLL;voidexgcd(LLa,LLb,LL&x,LL&y){if(b==0){......
  • JS实现数组元素位置交换
    /***数组元素交换位置*@param{array}arr数组*@param{number}index1添加项目的位置*@param{number}index2删除项目的位置*index1和index2分别是两......
  • YYEVA动效播放器--动态元素完美呈现新方案
    作者|龙卷风导读:伴随着计算机视觉领域的发展,动画也变得越来越炫酷。各种动效解决方案在画质提升时,也要兼顾文件体积和性能。透明MP4方案,能让设计师制作动画所见即所得,充分......
  • EG44273替代IRS44273,20V低侧单路驱动芯片
    1. 特性  VCC 电压范围 4V-20V  输出电流能力 IO+/-2A/2A  输入输出延时短  当输入引脚悬空时,输出保持在低电平  外围器件少  静态电流小于 1uA,非常适合......
  • EG27517替代UCC27517、FAN3100,20V低侧单路驱动芯片
    1. 特性  低成本栅极驱动器器件提供 NPN 和 PNP 离散解决方案的替代产品  VDD 电压范围 4V-20V  输出电流能力 IO+/-4A/4A  输入输出延时短  当输入引脚......
  • EG27519替代UCC27519,20V低侧单路驱动芯片
    1. 特性  低成本栅极驱动器器件提供 NPN 和 PNP 离散解决方案的替代产品  VDD 电压范围 4V-20V  输出电流能力 IO+/-4A/4A  输入输出延时短  带有 EN ......
  • 09-27虚拟机作为客户端访问本地服务器,分配用户的权限
      https://www.php.cn/mysql-tutorials-489050.html本机上(服务器)重点是管理服务器需要先新建一个数据库,再使用source命令导入删除列altertablestudentdrop......
  • serialportscreeen-2022-09-27
    1、继续单元格反色问题,因为大的表格包含许多小的单元格,因此在工程中通过一个反色单元格占用一个背景图片,然后在变量数据录入过程选择好页面切换,如果所需表格很多,就需要考虑......
  • Jenkins 20220927笔记本4
                          ......
  • English words chapter 20220927
    ......