问题需求
给出一个字符串数组words组成的一本英语词典。从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答案中字典序最小的单词。
若无答案,则返回空字符串。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-word-in-dictionary
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
于是想根据:
- 长度来排序
- 长度相同的根据字典顺序(a->z)进行排序
有2个条件
实现
words.sort(key = lambda c: (-len(c), c))
解释:
条件1:长度,不想写reverse=True
,所以加了负号
条件2:字母本身,即lambda函数返回元组的第二个元素c
对list.sort()
有不明白的可以参考:
python实现对二维数组的排序