题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
inline = input().split(' ')
n = int(inline[0])
cand_words = inline[1:-3]
x_word = inline[-2]
order = int(inline[-1])
def hashWord(word: str):
hash_x_word = {}
for chr in word:
if chr not in hash_x_word.keys():
hash_x_word[chr] = 1
elif chr in hash_x_word.keys():
hash_x_word[chr] += 1
return hash_x_word
target_word_hash = hashWord(x_word)
accWords = []
for ele in cand_words:
if hashWord(ele) == target_word_hash and ele != x_word:
accWords.append(ele)
sorted_acc_words = sorted(accWords)
# if len(sorted_acc_words) == 7:
# print(sorted_acc_words)
print(len(sorted_acc_words))
if order <= len(sorted_acc_words):
print(sorted_acc_words[order-1])
要点:利用字典对每个单词建立hash,相等则纳入兄弟单词,字典序直接用python的sorted对字符串列表排序即可
