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
复制代码

 

posted @   Aneverforget  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示