有什么比我的解决方案更快的方法来检查字谜?

时间:2019-05-09 18:46:04

标签: anagram

第一步:我通过对每个字符串进行排序来创建一个新列表,如果它是字谜,那么许多重复的字符串将位于一个新列表中。

Step2:然后我再次循环,只需使用count()来检查某项是否重复(如果是)-只需从旧列表l中以相同的索引检索该单词即可。

def anagrams(l):
  anagrams_list = []
  final_list = list() 
  #step 1
  for s in l: 
    check = sorted(s)
    check = ''.join(check)
    anagrams_list.append(check)
  counter = 0
  #step 2
  for elem in anagrams_list:
    if anagrams_list.count(elem) > 1:

      final_list.append(l[counter])
    counter+=1

  return final_list
  

输入:[“ ab”,“ ba”,“ cd”,“ dc”,“ e”]

     

输出:[“ ab”,“ ba”,“ cd”,“ dc”]

但是解决这个问题的更优雅的方法是什么?

0 个答案:

没有答案