unique()函数

这篇博客是本人在学习算法中遇到的一个常用的函数,记录分享给大家

注意 :unique()函数是删除相邻的重复元素,并且返回的是去重范围后的第一个元素的地址,左闭右开

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
  vector<int> v={5,2,7,4,1,2,4,5,1};
  sort(v.begin(),v.end());
  
  auto pos=unique(v.begin(),v.end());
  v.erase(pos,v.end());
  for(auto e : v)
  {
    cout<<e<<" ";
  }
  
  
  int a[10]={1,3,2,4,6,2,1,1,5,2};
  sort(a,a+10);
  int n=unique(a,a+10)-a;//返回的是地址,所以要减去首元素的地址,得到n
  //注意nuique的返回的是删除完的数组,
  //的最后一个元素的下一个位置的地址
 
  for(int i=0;i<n;i++)
  {
    cout<<a[i]<<" ";
  }

  return 0;
}
相关推荐
Tina学编程几秒前
[HOT 100]今日一练------字母异位词分组
算法·hot 100
凤山老林6 分钟前
68-Java ConcurrentHashMap
java·开发语言
澈2076 分钟前
图论入门:拓扑排序实战指南
算法·拓扑排序·有向图
覆东流7 分钟前
Python变量与数值类型
开发语言·后端·python
Cthy_hy11 分钟前
Python 算法竞赛:快速IO+字符串常用方法一站式整理
开发语言·python·算法
bnmoel15 分钟前
数据结构深度剖析二叉树・中篇:堆的概念及结构 ,实现应用全解析
数据结构·算法·二叉树··top-k问题
jzlhll12326 分钟前
android kotlin Flow:distinctUntilChangedBy + stateIn 的坑
android·开发语言·kotlin
Wang ruoxi29 分钟前
Pygame 小游戏——打砖块
开发语言·python·pygame
AI科技星30 分钟前
全域数学公理:32维超球体投影、微观曲率与霍奇猜想的几何化证明
c语言·开发语言·网络·量子计算·agi