11 雜湊1 電話聊天狂人 25 分

2022-03-19 09:26:30 字數 2092 閱讀 2482

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。

輸入首先給出正整數n(≤10​^5​​)

,為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。

在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則輸出狂人中最小的號碼及其通話次數,並且附加給出並列狂人的人數。

4

13005711862 13588625832

13505711862 13088625832

13588625832 18087925832

15005713862 13588625832

13588625832 3

/*

613005711862 13588625832

13505711862 13088625832

13588625832 18087925832

15005713862 13588625832

13005711862 15005713862

13005711862 15005713862

*/#include

#include

#include

using

namespace

std;

const

int maxn = 100010

;map

mp;void input(string

str)

else

}int

main()

map::iterator it =mp.begin();

int most_time = -1

;

int most_num = 0

;

string

most_id;

for (it = mp.begin(); it != mp.end(); it++)

else

if(it->second ==most_time )}}

if (1 ==most_num)

else

return0;

}

雜湊方法

#include#include

#include

const

int maxn = 12

;typedef

struct listnode *position;

typedef

struct htable *hashtable;

struct

listnode

;struct

htable

;hashtable createhash(

intn);

int nextprime(int

n);void insert(hashtable h, char *key);

void

solve(hashtable h);

void

freehashtable(hashtable h);

intmain()

solve(h);

freehashtable(h);

return0;

}hashtable createhash(

intn)

returnh;}

//查詢比n大的最小質數

int nextprime(int

n) }

returni;}

void insert(hashtable h, char *key)

if(p)

else

}void

solve(hashtable h)

else

if(p->count ==max)

}p = p->next;}}

if (1 ==num)

else

}void

freehashtable(hashtable h)

}free(h->list);

}

11 雜湊1 電話聊天狂人 25分

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數nn 10 5 為聯絡歷史條數。隨後n 行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一...

11 雜湊1 電話聊天狂人 25 分

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...

11 雜湊1 電話聊天狂人 25 分

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則輸出狂人中...