2019華為機試題 訊息擴散

2021-09-26 20:03:59 字數 1117 閱讀 1449

假設已知有m個群,其中乙個人把一條訊息發到他自己所在的所有群裡,這些群裡面的每個人又將訊息再次**到他自己所在的群裡,問最後有幾個人收到了該訊息。

在群這一層級上進行操作:將所有群組儲存於乙個list,通過剔除收到訊息的群來實現對收到訊息的人刪減,最後將總人數與剩餘人數相減完**數統計。相較對人做操作,實現起來更簡單。

first_name =

input()

num =

int(

input()

)#初始化:群組的列表;所有人名的集合;第乙個人發出資訊後收到資訊的人的集合;最終未收到資訊的人的集合

club_list, name_set, mes_set, res_set =

list()

,set()

,set()

,set()

for i in

range

(num)

:#讀入群組列表

name_list =

input()

.split(

",")

name_set.update(name_list)

for club in club_list:

#將第乙個人所在的群組從club_list移除並獲取mes_set

if first_name in club:

mes_set.update(club)

#獲取mes_set

club_list.remove(club)

#將第乙個人所在的群從club_list移除

for name in mes_set:

#將mes_set中所有人名所在群組從club_list移除

for club in club_list:

if name in club:

club_list.remove(club)

for club in club_list:

#獲取剩餘群組中人名的集合

res_set.update(club)

print

(len

(name_set)

-len

(res_set)

)#輸出處理前後集合人數差

華為機試題

今天去華為機試,感覺是再謹慎都不為過啊!zc前一天晚上還跟我強調了判空,記憶體釋放。前兩題都是基本題,後面一題不會。1 輸入兩個數 反轉相加的和輸出。2 三天打漁兩天曬網 從1990 年1月1日開始 打漁輸出fishing 曬網輸出sleeping 我因為printf的是fishing sleepi...

華為機試題

通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2.壓縮欄位的格式為 字元重複的次數 字元 例如 字串 yyy...

華為機試題

1.輸入乙個字串,將字串中的非字母字元刪除,保留字串中的小寫字母,將大寫字母變為小寫字母,然後輸出字串。比如 輸入 sdf sfjadf sdf 輸出 sdfsfjadfsdf 2.n進製數求和,輸入乙個整數n 2 n 35 兩個字串,字串中的字元一定是0 9或者a z 10 35 中的,輸出兩個字...