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

LeeCode 26 删除排序数组中的重复项,返回数组新长度

 一、利用算法中的unique函数实现去重的目的,unique函数是C++中的标准库函数,包含于<algorithm>头文件中。功能是将数组中相邻的重复元素去除。但是本质上是将重复的元素移动到数组的末尾,最后再将迭代器末尾指向不重复序列的下一个元素。unique函数使用前一般还要用到sort函数排序、erase函数,以达到彻底清除重复元素的目的。

int remove(vector<int>& nums)
{
	sort(nums.begin(),nums.end());   //对数组进行排序
	return unique(nums.begin(), nums.end())-nums.begin();
}

二、利用快慢指针,一前一后,在for循环内部逐个比较,如果(nums[fastindex] != nums[fastindex + 1],就先自增慢指针,再将快指针的内容赋值到慢指针的位置,然后快指针继续移动,直到遍历完所有元素。返回slowindex+1,因为slowindex从0开始。

int remove(vector<int>& nums)
{
	if (nums.empty())
		return 0;
	int slowindex = 0;
	for (int fastindex = 0; fastindex != nums.size()-1; ++fastindex)
	{
		if (nums[fastindex] != nums[fastindex + 1])
			nums[++slowindex] = nums[fastindex+1];
	}
	return slowindex+1;
}

 

相关文章:

  • LeeCode 27 移除元素,返回数组新长度
  • LeeCode 2125 合并两个(K个)有序链表
  • (10)STL算法之搜索(二) 二分查找
  • 单例模式(懒汉模式、饿汉模式)
  • 工厂模式抽象工厂
  • 链表翻转
  • LRU缓存算法
  • 判断单链表中是否存在环
  • LeeCode61 旋转链表
  • LeeCode74 搜索二维矩阵
  • (0)Nginx 功能特性
  • (2)nginx 安装、启停
  • (3)nginx 配置(nginx.conf)
  • 汇编语言学习笔记--基础知识篇
  • IAR for 430软件的简单使用
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Java超时控制的实现
  • oschina
  • WebSocket使用
  • win10下安装mysql5.7
  • 回顾2016
  • 详解NodeJs流之一
  • 以太坊客户端Geth命令参数详解
  • 源码安装memcached和php memcache扩展
  • Nginx实现动静分离
  • ​卜东波研究员:高观点下的少儿计算思维
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (145)光线追踪距离场柔和阴影
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (离散数学)逻辑连接词
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (强烈推荐)移动端音视频从零到上手(上)
  • (三分钟)速览传统边缘检测算子
  • (四) Graphivz 颜色选择
  • ./configure、make、make install 命令
  • .NET Core WebAPI中封装Swagger配置
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net操作Excel出错解决
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .NET框架
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [AIGC] MySQL存储引擎详解
  • [ajaxupload] - 上传文件同时附件参数值
  • [BZOJ 1040] 骑士
  • [DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]
  • [Google Guava] 1.1-使用和避免null
  • [IT生活推荐]大家一起来玩游戏喽,来的都进!
  • [Java][Liferay] File system in liferay
  • [LeetCode 127] - 单词梯(Word Ladder)
  • [NOI2020统一省选 A] 组合数问题 (推式子)
  • [Oh My C++ Diary]带参数的main()函数
  • [Python] 递归返回值 为 None 的问题