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;
}
相关推荐
Takoony12 小时前
一鱼两吃:为什么 SFT 和 GRPO 可以共用同一批数据
算法
源代码•宸12 小时前
Golang原理剖析(interface)
服务器·开发语言·后端·golang·interface·type·itab
冬奇Lab12 小时前
【Kotlin系列09】委托机制与属性委托实战:组合优于继承的最佳实践
android·开发语言·kotlin
txinyu的博客12 小时前
手写 C++ 高性能 Reactor 网络服务器
服务器·网络·c++
Vallelonga12 小时前
浅谈 Rust bindgen 工具
开发语言·rust
ElfBoard12 小时前
ElfBoard技术贴|如何在ELF-RK3506开发板上构建AI编程环境
c语言·开发语言·单片机·嵌入式硬件·智能路由器·ai编程·嵌入式开发
洲星河ZXH12 小时前
Java,泛型
java·开发语言·windows
木木木一12 小时前
Rust学习记录--C13 Part1 闭包和迭代器
开发语言·学习·rust
木木木一12 小时前
Rust学习记录--C13 Part2 闭包和迭代器
开发语言·学习·rust
Wcy307651906612 小时前
文件包含漏洞及PHP伪协议
开发语言·php