当前位置: 首页 > news >正文

LeetCode每日一题——移除元素

移除元素OJ链接:27. 移除元素 - 力扣(LeetCode)

题目:

思路:

题目给定要求只能使用O(1)的额外空间并且原地修改输入数组,然后返回移除后的数组行长度。那
么我们就可以确我没有办法建立临时的数组存放我们的值,并且返回值是我们新的数组长度。
根据之前所学的知识,我们可以很快的联想到可以使用我们的双指针进行解题。

先观察我们的函数参数。nums是数组,numsSize是数组大小,val是我们要删掉的元素。 

 

 

代码实现:
int removeElement(int* nums, int numsSize, int val) 
{int dest=0;int src=0;while(numsSize--)//循环次数为numsSize{if(nums[dest]==val){dest++;}else{nums[src]=nums[dest];dest++;src++;}}return src;
}
运行结果: 

复杂度分析
时间复杂度:O(n),其中 n 为序列的长度。我们只需要遍历该序列至多两次。
空间复杂度:O(1)。我们只需要常数的空间保存若干变量。

 

 

PS:看到这里了,码字不易,给个一键三连鼓励一下吧!有不足或者错误之处欢迎在评论区指出!    
 
http://www.lryc.cn/news/319218.html

相关文章:

  • vue3之自定义指令
  • MySQL语法分类 DQL(5)分组查询
  • C++程序设计-练手题集合【期末复习|考研复习】
  • 文件上传漏洞------一句话木马原理解析
  • Openfeign使用教程(带你快速体验Openfeign的便捷)
  • 【leetcode】相同的树➕对称二叉树➕另一棵树的子树
  • uni-app 安卓手机判断是否开启相机相册权限
  • GPT实战系列-LangChain构建自定义Agent
  • uniapp-vue3 项目初始化集成配置【开箱即用】
  • 【Qt】使用Qt实现Web服务器(一):QtWebApp介绍、演示
  • SQLiteC/C++接口详细介绍之sqlite3类(八)
  • 面视题之——悲观锁和乐观锁
  • OpenAI 的 GPTs 提示词泄露攻击与防护实战:攻击卷(一)
  • 【 c 语言 】指针入门
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Swiper)
  • Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 4-2、线条平滑曲面(原始颜色)但不去除无效点
  • win10 + cpu + pycharm + mindspore
  • 设计一个生产制造系统100问?
  • LeetCode 面试经典150题 26.删除有序数组中的重复项
  • 海豚调度系列之:集群部署(Cluster)
  • 居民健康监测小程序|基于微信小程序的居民健康监测小程序设计与实现(源码+数据库+文档)
  • 【海贼王的数据航海】排序——概念|直接插入排序|希尔排序
  • Docker环境快速搭建RocketMq
  • 【leetcode热题】比较版本号
  • 【ArcGISPro】道路数据下载并使用
  • DataGrip 面试题及答案整理,最新面试题
  • 2、设计模式之单例模式详解(Singleton)
  • 【django framework】ModelSerializer+GenericAPIView,如何在提交前修改某些字段值
  • 2024年【P气瓶充装】模拟考试及P气瓶充装证考试
  • <JavaEE> 数据链路层 -- 以太网协议、MTU限制、ARP协议