刚学语法不到一个月的新手,第一次在题解上发代码。
#include <algorithm>
using namespace std;
int cnt[10];
// 优化版, arr都不用开。
int main(){
int n, a;
cin >> n;
for(int i = 0; i < n; i++){
cin >> a;
cnt[a]++; // 对 1 - 9 每个数字记数。
}
sort(cnt + 1, cnt + 10); // cnt[1]为最小值, cnt[9]为最大值。
if(cnt[9] - cnt[1] >= 2) // 如果所有数字出现次数相等,或者出现最多的那些数字只比出现最少的那些数字多出现一次,那就能 YES, 否则就 NO 。
cout << "NO" << endl;
else
cout << "YES" << endl;
return 0;
}