AcWing 817. 数组去重
原题链接
中等
作者:
殇ベ_11
,
2021-04-06 15:10:54
,
所有人可见
,
阅读 654
题目描述
给定一个长度为 n 的数组 a,请你编写一个函数:
int get_unique_count(int a[], int n); // 返回数组前n个数中的不同数的个数
输入格式
第一行包含一个整数 n。
第二行包含 n 个整数,表示数组 a。
输出格式
共一行,包含一个整数表示数组中不同数的个数。
数据范围
1≤n≤1000
样例
输入样例:
5
1 1 2 4 5
输出样例:
4
算法1
(暴力枚举) $O(n^2)$
C++ 代码
#include<bits/stdc++.h>
using namespace std;
const int N = 10000;
int n,a[N << 1];
int main()
{
cin>>n;
for(int i = 1; i <= n; i++)
{
int x;
cin>>x;
a[x]++;
}
int ans=0;
for(int i = 1;i <=1000;i++)
{
if(a[i] > 0) ans++ ;
}
cout<<ans;
}
这复杂度是O(n)吧。