您的位置:首页 > 其它

寻找水王1

2016-04-22 09:22 155 查看
水骑士设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。

如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

思路,这道题目,最终我还是用最常规的方法,构建Hash表来实现,时间复杂度为:O(n*logn),相对来说慢一点。

#include<iostream>
#include<map>
#include<string>
using namespace std;
int main(){
int n;
map<string,int> hash;//帖子id与数目的映射关系
cin>>n; //帖子的总数量
string id,ans="不存在水王";
for(int i=0;i<n;i++){
cin>>id;
if(hash.count(id)==0){
hash[id]=1;
}else {
hash[id]++;
}
if(hash[id]>=n/2){
ans=id;
}
}
cout<<"水王是:"<<ans<<endl;
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: