Longest Word in Dictionary
给一个词典,找出其中所有最长的单词。
样例
在词典
{
"dog",
"google",
"facebook",
"internationalization",
"blabla"
}
中, 最长的单词集合为 ["internationalization"]
在词典
{
"like",
"love",
"hate",
"yes"
}
中,最长的单词集合为 ["like", "love", "hate"]
挑战
遍历两次的办法很容易想到,如果只遍历一次你有没有什么好办法?
Solution
具体计算的时候,保持一个计数和一个当前计数的单词数组,就可以一次搞定
Code
class Solution:
# @param dictionary: a list of strings
# @return: a list of strings
def longestWords(self, dictionary):
# write your code here
ret = []
for word in dictionary:
if not ret or len(word) > len(ret[0]):
ret = [word]
elif len(word) == len(ret[0]):
ret.append(word)
return ret