算法知识点: 排序,去重
复杂度:
解题思路:
考察了两个函数的使用:
- 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; }