【力扣刷题实战】(次序表)移除元素

[复制链接]
发表于 2026-1-12 15:12:51 | 显示全部楼层 |阅读模式

   
各人好,我是小卡皮巴拉 

  
文章目次  

目次
力扣标题: 移除元素
标题形貌
示例 1:
示例 2:
解题思绪
详细思绪
标题要点
完备代码
兄弟们共勉 !!! 


每篇前言 

   博客主页:小卡皮巴拉
  咱的标语:🌹小比特,大空想🌹
  作者哀求:由于博主程度有限,难免会有错误和禁绝之处,我也非常渴望知道这些错误,恳请大佬们品评斧正。
  
 

  力扣标题: 移除元素

   原题链接:移除元素
    标题形貌

  给你一个数组 nums 和一个值 val,你必要 原地 移除全部数值即是 val 的元素。元素的次序大概发生改变。然后返回 nums 中与 val 差别的元素的数目。
  假设 nums 中不即是 val 的元素数目为 k,要通过此题,您必要实验以下操纵:
  

  • 更改 nums 数组,使 nums 的前 k 个元素包罗不即是 val 的元素。nums 的别的元素和 nums 的巨细并不告急。
  • 返回 k。
示例 1:

  输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2,_,_]
表明:你的函数函数应该返回 k = 2, 而且 nums中的前两个元素均为 2。
你在返回的 k 个元素之外留下了什么并不告急(因此它们并不计入评测)。
  示例 2:

  输入:nums = [0,1,2,2,3,0,4,2], val = 2
输出:5, nums = [0,1,4,0,3,_,_,_]
表明:你的函数应该返回 k = 5,而且 nums 中的前五个元素为 0,0,1,3,4。
注意这五个元素可以恣意次序返回。
你在返回的 k 个元素之外留下了什么并不告急(因此它们并不计入评测)。
    解题思绪

  我们在这里用到双指针法来举行数组去重:给定一个排序数组,必要在原地删除重复出现的元素,使每个元素只出现一次,并返回移除后数组的新长度。可以使用快慢指针来实现,快指针用于遍历数组,慢指针用于指向已处置惩罚元素的末了一个位置。
  详细思绪

  初始化双指针
  

  • 使用两个指针 dst 和 src,都初始化为0。
  • dst 指针用于纪录当前不即是 val 的元素应该放置的位置(即目标位置)。
  • src 指针用于遍历整个数组。
遍历数组
  

  • 遍历数组 nums,使用 src 指针从0开始遍历。
  • 假如 nums[src] 不即是 val,则将 nums[src] 的值赋给 nums[dst],而且 dst 指针向后移动一位(dst++,在Python中表现为 dst += 1)。
  • 假如 nums[src] 即是 val,则只移动 src 指针,dst 指针保持稳定。
返回结果
  

  • 遍历完成后,dst 指针的值即为不即是 val 的元素数目。
  • 返回 dst 即可。
   标题要点

  原地操纵:不增长额外空间,直接在原数组上修改。
  双指针:使用两个指针遍历数组,一个纪录结果,一个用于遍历。
  次序可变:输出元素可不必保持原次序。
  返回数目:终极返回非目标值的元素数目。
    完备代码(C语言)

  1. int removeElement(int* nums, int numsSize, int val)
  2. {
  3.     int dst,src = 0;
  4.     while(src < numsSize)
  5.     {
  6.         //src的值为val,src往后走
  7.         //src的值不为val,src赋值给dst,src和dst都往后走
  8.         if(nums[src] != val)
  9.         {
  10.             nums[dst] = nums[src];
  11.             dst++;
  12.         }
  13.         src++;
  14.     }
  15.     return dst;
  16. }
复制代码
兄弟们共勉 !!! 

   
码字不易,求个三连

  
抱拳了兄弟们!

  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表