题解 | #查找兄弟单词#

查找兄弟单词

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

import sys

s_list = input().split(' ')
#求出字典里有几个单词
n = int(s_list[0])
#将字典里的单词划分出来
list1 = []
for i in range(1,n+1):
    list1.append(s_list[i])
#得到原始单词和需要输出的兄弟单词的编号
s = s_list[n+1]   #s为原始单词
num = int(s_list[n+2])   #num为编号

#判断是否为兄弟单词的函数
def word_bro (a,b):
    #a为原始单词,b为需要判别是否为兄弟单词的单词
    sign = 0
    #当长度一样时
    if len(a) == len(b):
        #并且a与b不相等
        if a != b:
            l = len(a)
            for i in range(0,l):
                #判断a中的每个字符在b中是否存在并且每个字符出现的次数在a和b中相同
                if a[i] in b and a.count(a[i]) == b.count(a[i]):
                    sign = 1
                else:
                    sign = 0
                    break
        else:
            #a与b相等
            sign = 0
    else:
        #a与b长度不相等
        sign = 0
    return sign

list2 = []
#判别
for x in list1:
    #如果是兄弟单词
    if (word_bro(s,x)) == 1:
        list2.append(x)
    else:
        continue
#将list2进行排序
list2.sort()
print(len(list2))
if num <= len(list2):
    print(list2[num-1])  #注意第K个单词和编号的区别











全部评论

相关推荐

ldf李鑫:不说公司名祝你以后天天遇到这样的公司
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务