算法知识点: 排序,去重

复杂度:

解题思路:

考察了两个函数的使用:

  • sort:可以将序列排序。
  • unique:可以将序列中所有相邻的重复元素删除(只保留一个)。此处的删除,并不是真的删除,而是指重复元素的位置被不重复的元素覆盖了。最后会返回不重复序列的后一个位置。

C++ 代码:

#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;
    printf("%d\n", k);
    for (int i = 0; i < k; i ++ ) printf("%d ", q[i]);
    return 0;
}


另外,牛客暑期NOIP真题班限时免费报名
报名链接:https://www.nowcoder.com/courses/cover/live/248
报名优惠券:DCYxdCJ