1041 Be Unique

Posted CSU迦叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1041 Be Unique相关的知识,希望对你有一定的参考价值。

1.依旧是散列题,开一个整形的哈希数组bets[10010]来计数,最后数目为1的,也就是unique

2.注意,可能为1的不止一个,要输出第一个输入的unique,那么需要记录下读入的顺序,可以开辟一个数组inputs[100010]来记录,最后不是按照哈希数组的下标来遍历,而是按照Inputs的下标来遍历,这样才能保证最先读入的unique被输出

AC代码

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;

const int maxn = 10010;
const double eps = 1e-3;


int main(){
	
	int bets[maxn] = {0};
	int inputs[100010];
	
	int n,bet;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%d",&bet);
		inputs[i] = bet;
		bets[bet] ++;
	}
	
	bool hasFound = false;
	for(int i=0;i<n;i++){
		if(bets[inputs[i]]==1){
			printf("%d",inputs[i]);
			hasFound = true;
			break;
		}
	}
	
	if(!hasFound)printf("None");
	
	return 0;
}

以上是关于1041 Be Unique的主要内容,如果未能解决你的问题,请参考以下文章

PAT1041 Be Unique

pat(A)1041. Be Unique(哈希)

1041 Be Unique 散列

A1041 Be Unique (20 分)

pat 1041 Be Unique(20 分)

PAT甲级1041 Be Unique (20 分)(多重集)