原题链接:4317. 不同正整数的个数 - AcWing题库
给定 n 个非负整数 a1,a2,…,an。
请你计算其中共有多少个不同的正整数。
输入格式
第一行包含整数 n。
第二行包含 n 个非负整数 a1,a2,…,an。
保证至少存在一个正整数。
输出格式
一个整数,表示其中不同正整数的数量。
数据范围
前三个测试点满足 1≤n≤5。
所有测试点满足 1≤n≤100,0≤ai≤600。
输入样例1:
4
1 3 3 2
输出样例1:
3
输入样例2:
3
1 1 1
输出样例2:
1
输入样例3:
4
42 0 0 42
输出样例3:
1
AC代码:
#include<iostream>
#include<set>
using namespace std;
set<int> a;
int main() {
int n;
cin>>n;
int f=0;
for(int i=0; i<n; i++) {
int x;
cin>>x;
if(x==0)
f=1;
a.insert(x);
}
//可以用set容器进行运算,需要特别标注一下题目要求的是否为0,只需要判断一下是否存在0即可
cout<<a.size()-f<<endl;
return 0;
}