NYOJ 95 众数问题

原题链接

简单题。

附ac代码:

#include <stdio.h>
#include <stdlib.h>
int a[100];

int cmp(const void *a, const void *b){
	return *(int *)a - *(int *)b;
}
struct Node{
	int a, n;
};

int main(){
	int t, n;
	Node max;
	scanf("%d", &t);
	while(t-- && scanf("%d", &n)){
		int i;
		for(i = 0; i != n; ++i)
			scanf("%d", &a[i]);
		qsort(a, n, sizeof(int), cmp);
		max.n = 0;
		for(i = 0; i != n; ++i){
			for(int j = i + 1, k = i; j != n; ++j){
				if(a[i] == a[j]) continue;
				if(j - k > max.n){
					max.n = j - k;
					max.a = a[i];
					i = j - 1;					
				}
				break;
			}
		}
		printf("%d %d\n", max.a, max.n);
	}
	return 0;
}


posted on 2014-02-12 15:13  长木Qiu  阅读(110)  评论(0编辑  收藏  举报