unique 去重

Posted 幽殇默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unique 去重相关的知识,希望对你有一定的参考价值。



  • sort:可以将序列排序。
  • unique:可以将序列中所有相邻的重复元素删除(只保留一个)。
    此处的删除,并不是真的删除,而是指重复元素的位置被不重复的元素覆盖了。最后会返回不重复序列的后一个位置。
    在这里插入图片描述
    https://www.acwing.com/problem/content/427/
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>

using namespace std;

const int N = 110;

int n;
int q[N];

int main()
{
    scanf("%d", &n);
    for (int i = 0; i < n; i ++ ) scanf("%d", &q[i]);
    sort(q, q + n);
    int k = unique(q, q + n) - q;//两个指针相减,会返回两个指针之间的元素个数。
    //假设一共有k个不同元素,那么unique函数会返回q[k]的指针,因此减去q这个指针之后,就会得到k了。
    printf("%d\\n", k);
    for (int i = 0; i < k; i ++ ) printf("%d ", q[i]);
    return 0;
}

以上是关于unique 去重的主要内容,如果未能解决你的问题,请参考以下文章

使用Jquery的$.unique去重时,注意先排序再去重

使用Jquery的$.unique去重时,注意先排序再去重

P1059 明明的随机数及unique去重的用法

去重函数unique,sort,erase的应用

去重函数unique,sort,erase的应用

jquery 里面对数组去重操作-unique