题解 | 数独数组

数独数组

https://www.nowcoder.com/practice/12e6adfa05f5417dbf5a0d85ff5fb93c

//活动地址: 牛客春招刷题训练营 - 编程打卡活动
#include <algorithm>
#include<iostream>
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;
} 
//活动地址: 牛客春招刷题训练营 - 编程打卡活动

全部评论

相关推荐

Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务