题解 | #查找兄弟单词#

查找兄弟单词

https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68

#处理输入
s=input().split(' ')

n=int(s[0])
words=s[1:n+1]
x=s[n+1]
k=int(s[-1])

#别人的聪明办法
#使用sorted的对单词中的字母进行排序,降低了算法复杂度
a=[]#用a存储兄弟单词
for word in words:
    if x!=word and sorted(x)==sorted(word):
    	a.append(word)
print(len(a),end='\n')
if len(a)>=k:
    print(sorted(a)[k-1])

#我的笨办法:使用字典来记录每个字母在单词x中的数量,在判断words中字母出现的数量和字典一不一样:
dic1={i:x.count(i) for i in set(x)}
a=[]#用a存储兄弟单词
for word in words:
    if set(x)==set(word) and x!=word:
        f=1
        for j in dic1:           
            if dic1[j]!=word.count(j):
                f=0
        if f==1:
            a.append(word)

print(len(a),end='\n')
if len(a)>=k:
    print(sorted(a)[k-1])

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 14:35
点赞 评论 收藏
分享
uu们,拒offer时hr很生气怎么办我哭死
爱睡觉的冰箱哥:人家回收你的offer,或者oc后没给你发offer的时候可不会愧疚你,所以你拒了也没必要愧疚他。
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务