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;
}
相关推荐
EriccoShaanxi1 分钟前
穿越高温地层:加速度计如何成为石油钻井的核心感官
大数据·算法
老王熬夜敲代码5 分钟前
C++中的mutex、condition_val
c++·笔记·面试
闻缺陷则喜何志丹5 分钟前
【计算几何 二分查找】P12261 [蓝桥杯 2024 国 Java B] 激光炮|普及+
c++·数学·蓝桥杯·计算几何·洛谷
Tisfy8 分钟前
LeetCode 3531.统计被覆盖的建筑:最大最小值
算法·leetcode·题解·桶排序
京东零售技术18 分钟前
SIGIR 2025 | 基于图同构网络的群体建模在点击率预测中的应用
算法
程序员西西26 分钟前
深入剖析 Java 中的 ZGC 机制:原理、优势与实践
java·后端·算法
月明长歌28 分钟前
【码道初阶】Leetcode.189 轮转数组:不熟悉ArrayList时踩得坑,被Arraylist初始化骗了?
java·算法·leetcode·职场和发展
海上彼尚28 分钟前
Go之路 - 4.go的集合[完整版]
开发语言·后端·golang
卡尔AI工坊30 分钟前
万众瞩目的 GPT 5.2,连个火柴人游戏都做不明白?
后端·算法
fantasy_arch31 分钟前
leetcode算法-最大乘积子数组
算法·leetcode·职场和发展