题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
#方法一,可以用全排列做 #方法二,不用全排列 #首先遍历字典,将长度不一样的单词全部剔除,然后将单词x本身剔除,最后对字典中的单词中的字母进行排序,和排序后的单词x进行判等。 str_in = input().split() dict1_num = int(str_in[0]) dict1 = str_in[1:-2] word_x = str_in[-2] k = int(str_in[-1]) #从原字典中找出符合的兄弟单词加入新字典 new_dict1 = [] for i in dict1: if len(i) == len(word_x) and i != word_x and sorted(i) == sorted(word_x): new_dict1.append(i) #对新的字典进行排序,排序规则是,升序,第0个字母优先级最高,第1个次之,以此类推 def f(new_dict_word): return tuple(new_dict_word) new_dict1 = sorted(new_dict1,key=f) #输出 print(len(new_dict1)) if k <= len(new_dict1): print(new_dict1[k-1])