您的位置:首页 > 理论基础 > 数据结构算法

数据结构实验:哈希表

2014-02-13 16:53 337 查看

数据结构实验:哈希表

Time Limit: 1000MS Memory limit: 65536K

题目描述

 在n个数中,找出出现次数最多那个数字,并且输出出现的次数。如果有多个结果,输出数字最小的那一个。

输入

 单组数据,第一行数字n(1<=n<=100000)。接下来有n个数字,每个数字不超过100000000

输出

 出现次数最多的数字和次数。

示例输入

3
1 1 2

示例输出

1 2
#include <stdio.h>#include <string.h>#define T 100000int s[T+1],shu[T+1];int main(){int n,k,tp,l1,l2;int i;scanf("%d",&n);for(i=0; i<n; i++){scanf("%d",&k);tp=k%T;while(1){if(k==s[tp]||s[tp]==0){s[tp]=k;shu[tp]++;break;}else{tp++;}if(tp>=T){tp=0;}}}l1=s[0];l2=shu[0];for(i = 1 ; i <T; i++){if(l2 < shu[i] || (l2==shu[i] && l1 > s[i]) ){l2 = shu[i] ;l1 = s[i] ;}}printf("%d %d\n",l1,l2);return 0;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: