题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
firstInput = input().strip().split(" ")
n = firstInput[0]
words = firstInput[1: len(firstInput)-2]
broWord = firstInput[-2]
broWords = []
k = int(firstInput[-1])
for word in words:
isBroWord = True
if len(word) != len(broWord) or word == broWord:
isBroWord = False
else:
for str in broWord:
if (str not in word) or (word.count(str) != broWord.count(str)):
isBroWord = False
if isBroWord:
broWords.append(word)
broWordsLength = len(broWords)
print(broWordsLength)
if broWordsLength >= k:
print(sorted(broWords)[k-1])
这个题其实不难,搞清楚查询条件就很顺利,判断兄弟单词的条件无非是以下几点:其实调试过程中可反复输出过滤这个不合格的单词:1.首先长度相等 2.单词不能和本身一样 3.这个单词在对比另一个单词时每个字母都要有,并且字母数量还是相同的则可解出。
不知道为什么通过率这么低哈。。。居然比之前的背包问题还低!背包问题那么高你们是怎么做到的哈哈哈哈,只要动态规划换个考的方式我就还是瞬间懵逼.


