Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
给出26个字母的另一种顺序以及这个顺序下的几个单词,问是否符合字母序。
用dict构建原本的26个字母和新字母序列的映射,将新序的单词映射回原始26个字母序,再直接对比相邻字符串


 1 #953
 2 #Runtime: 18 ms (Beats 91.10%)
 3 #Memory: 13.4 MB (Beats 76.87%)
 4 
 5 class Solution(object):
 6     def isAlienSorted(self, words, order):
 7         """
 8         :type words: List[str]
 9         :type order: str
10         :rtype: bool
11         """
12         ori_id = dict()
13         a = "abcdefghijklmnopqrstuvwxyz"
14         for i in range(26):
15             ori_id[order[i]] = a[i]
16         for i in range(len(words)):
17             trans_s = []
18             for j in words[i]:
19                 trans_s.append(ori_id[j])
20             trans_s = ''.join(trans_s)
21             if i == 0:
22                 pre = trans_s
23             else:
24                 if pre > trans_s:
25                     return False
26                 pre = trans_s
27         return True

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理