HJ27_查找兄弟单词——哈希表查找
思路:
#先找出兄弟单词,按字典排序;输出第k个字典序单词,若没有则不用输出。
关键是理解题目兄弟单词的定义。可通过测试案例明确兄弟单词单词定义。如刚开始我的check,只是用set()检查是否含有相同字母;再增加用len()检查重复字母,再发现用哈希表计算不同字母出现次数,并对比哈希表。最后得出程序如下,该程序思路清晰。
1 from collections import Counter 2 a=input().split() 3 m=a.pop(0) 4 k=int(a.pop()) 5 tar=a.pop() 6 l=[] 7 def check(i,tar): 8 dtar=Counter(tar) 9 if i!=tar: 10 d=Counter(i) 11 #print(d,dtar) 12 if d==dtar: 13 return True 14 def bro(tar,a): 15 for i in a: 16 if check(i,tar): 17 l.append(i) 18 bro(tar,a) 19 l.sort() 20 print(len(l)) 21 if len(l)>k: 22 print(l[k-1]) 23 else: 24 pass