给定一个长度为 n 的数组 a,请你编写一个函数:
intget_unique_count(int a[], int n); // 返回数组前n个数中的不同数的个数
输入格式
第一行包含一个整数 n。
第二行包含 n 个整数,表示数组 a。
输出格式
共一行,包含一个整数表示数组中不同数的个数。
数据范围
1≤n≤1000,
1≤ai≤1000。
输入样例:
5
1 1 2 4 5
输出样例:
4
解决方案:
1.
#include <iostream>
using namespace std;
int get_unique_count(int a[], int n){
int count=1;
for(int i=1;i<n;i++){
bool flag=true;
for(int j=0;j<i;j++){
if(a[i]==a[j]){
flag=false;
break;
}
}
if(flag) count++;
}
return count;
}
int main(){
int n,a[1000];
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
cout<<get_unique_count(a,n);
return 0;
}
2.
#include <bits/stdc++.h>
using namespace std;
int b[1001],t=0;
int get_unique_count(int a[], int n)
{
for(int i=1;i<=n;i++)
{
if(b[a[i]]==0)
t++,b[a[i]]=1;
}
return t;
}
int main()
{
int n;
cin>>n;
int a[n+1];
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
cout<<get_unique_count(a,n);
return 0;
}