AcWing 817. 数组去重
原题链接
中等
作者:
寒暄a
,
2021-03-08 11:11:41
,
所有人可见
,
阅读 376
# include <iostream>
using namespace std;
int get_unique_count(int a[], int n)
{
int sum = 0; // 算重复的个数
// 先排序
for (int i = 0; i < n; i ++ )
{
for (int j = i + 1; j < n; j ++ )
{
if (a[i] > a[j])
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for (int i = 0; i < n; i ++ )
{
for (int j = i + 1; j < n; j ++ )
{
if (a[i] == a[j] && a[i] == a[j + 1]) // 判断是否连续重复
{
sum ++ ;
i ++ ;
}
else if (a[i] == a[j]) sum ++ ;
}
}
return n - sum;
}
int main()
{
int n, a[1010];
cin >> n;
for (int i = 0; i < n; i ++ ) cin >> a[i];
cout << get_unique_count(a, n) << endl;
return 0;
}