953.leetcode题目讲解(Python):验证外星语词典(Verifying an Alien Dictionary)

题目

解题思路

简单说一下这道题,难点在:读不懂题目!!!

其实这道题说的是一个单词在字典里面的出现顺序问题。

用中文词汇举例子:

苹果(pingguo),香蕉(xiangjiao)

因为我们的字母默认顺序为:

abcdefghijklmnopqrstuvwxyz

所以,在字典里 苹果(pingguo)会出现在 香蕉(xiangjiao)的前面。

但是,外星人的字母默认顺序可能不同,这个题目就是要我们判断 words 里面单词的顺序是否满足外星人字典的排列顺序。

参考代码

'''
@auther: Jedi.L
@Date: Thu, May 30, 2019 6:02
@Email: [email protected]
@Blog: www.tundrazone.com
'''


class Solution:
    def isAlienSorted(self, words, order):
        alien_dic = {}
        # create alien dictionary by using enumerate
        for i, c in enumerate(order):
            alien_dic[c] = i

        dic_order = sorted(words, key=lambda x: [alien_dic[c] for c in x])
        return dic_order == words

如何刷题 : Leetcode 题目的正确打开方式

我的GitHub : GitHub

其他题目答案:leetcode题目答案讲解汇总(Python版 持续更新)

其他好东西: MyBlog----苔原带

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章