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

LeeCode 27 移除元素,返回数组新长度

一、利标准库提供的移除算法remove()

int removeElement(vector<int>& nums, int val) {
	remove(nums.begin(), nums.end(), val);
	return nums.size();
}

二、利用vector容器自带的删除函数erase()

int removeElement(vector<int>& nums, int val) {
	auto it = nums.begin();
	while (it != nums.end())
	{
		if (*it == val)
			nums.erase(it);
		else
			it++;
	}
	return nums.size();
}

三、利用双指针,慢指针指向待删除元素,快指针后移找到其他元素,完成赋值,

int removeElement(vector<int>& nums, int val) {
	int slowindex = 0;
	for (int fastindex = 0; fastindex != nums.size(); ++fastindex)
	{
		if (val != nums[fastindex])
			nums[slowindex++] = nums[fastindex]; //本次赋值完成后,慢指针自增
//指向下一个元素,如果快指针遍历到了val,不做处理,继续后移,找到非val元素,赋值到慢指针所指位置
	}
	return slowindex;
}

 

相关文章:

  • LeeCode 2125 合并两个(K个)有序链表
  • (10)STL算法之搜索(二) 二分查找
  • 单例模式(懒汉模式、饿汉模式)
  • 工厂模式抽象工厂
  • 链表翻转
  • LRU缓存算法
  • 判断单链表中是否存在环
  • LeeCode61 旋转链表
  • LeeCode74 搜索二维矩阵
  • (0)Nginx 功能特性
  • (2)nginx 安装、启停
  • (3)nginx 配置(nginx.conf)
  • 汇编语言学习笔记--基础知识篇
  • IAR for 430软件的简单使用
  • 430单片机时钟系统与复位系统的配置(1)
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 10个确保微服务与容器安全的最佳实践
  • C++类中的特殊成员函数
  • Computed property XXX was assigned to but it has no setter
  • docker-consul
  • express如何解决request entity too large问题
  • HashMap ConcurrentHashMap
  • idea + plantuml 画流程图
  • Js基础知识(四) - js运行原理与机制
  • leetcode-27. Remove Element
  • rabbitmq延迟消息示例
  • ubuntu 下nginx安装 并支持https协议
  • vue自定义指令实现v-tap插件
  • 今年的LC3大会没了?
  • 京东美团研发面经
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 事件委托的小应用
  • 突破自己的技术思维
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • ​插件化DPI在商用WIFI中的价值
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (145)光线追踪距离场柔和阴影
  • (4)Elastix图像配准:3D图像
  • (4)logging(日志模块)
  • (70min)字节暑假实习二面(已挂)
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (转)http-server应用
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .net core 依赖注入的基本用发
  • .NET Framework杂记
  • .Net的DataSet直接与SQL2005交互
  • .NET开源项目介绍及资源推荐:数据持久层
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • @Responsebody与@RequestBody
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理...
  • [AIGC codze] Kafka 的 rebalance 机制