817. 数组去重
2023-09-14 09:01:25 时间
Question
给定一个长度为 n 的数组 a,请你编写一个函数:
int get_unique_count(int a[], int n); // 返回数组前n个数中的不同数的个数 输入格式
第一行包含一个整数 n。
第二行包含 n 个整数,表示数组 a。
输出格式
共一行,包含一个整数表示数组中不同数的个数。
数据范围
1≤n≤1000,
1≤ai≤1000。
输入样例:
5
1 1 2 4 5
输出样例:
4
Ideas
计数数组
Code
#include <iostream>
using namespace std;
const int N = 1010;
int count[N]; // 全局数组默认初始化为0
int a[N];
int get_unique_count(int a[], int n)
{
int res = 0;
for (int i = 0; i < n; i ++)
{
if (!count[a[i]])
{
count[a[i]] ++;
res += 1;
}
}
return res;
}
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i ++)
cin >> a[i];
cout << get_unique_count(a, n);
return 0;
}