题解 | #查找兄弟单词#
查找兄弟单词
http://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
思路见注释
#针对长度相等,且本身不相同的字串,对比单词中每一个符号的数量是否一样,如果一样,则可以通过交换顺利变成相同。
def is_brother(str1, str2):
for i in str1:
if str1.count(i) != str2.count(i):
return False
return True
while True:
try:
s = input().split(' ') #接受输入,提取相关参数
n = int(s[0])
words = []
brother = s[-2]
len_b = len(brother)
k = int(s[-1])
for i in range(n):#遍历所有单词
if len(s[i+1]) == len_b:#判断长度是否相等
if s[i+1] != brother:#判断本身是否完全相同
if is_brother(s[i+1],brother):#如果满足上述条件,再判断其是否具备兄弟特征
words.append(s[i+1])#是则提取出来
# print(words)
words = sorted(words)#按字典排序
#输出
print(len(words))
if k < len(words):
print(words[k-1])
except:
break