题目1
- 给两个字符串s和t,判断t是否为s的重新排列后组成的单词
- s = 'anagram', t = 'nagaram', return ture
- s = 'rat', t = 'car', return false
代码:
def isAnagram(s, t):
'''
:type s: str
:type t: str
:rtype: bool
'''
#1
ss = list(s)
tt = list(t)
ss.sort()
tt.sort()
return ss == tt
#2
return sorted(list(s)) == sorted(list(t))
#3 O(n)
dict1 = {} #{'a':1, 'b':2}
dict2 = {}
for ch in s:
dict1[ch] = dict1.get(ch, 0) + 1
for ch in t:
dict2[ch] = dict2.get(ch, 0) + 1
return dict1 == dict2
题目2
- 给定一个m*n的二维列表,查找一个数是否存在。列表有以下特性:
- 每一行的列表从左到右已经升序排序好
- 每一行第一个数比上一行最后一个数大
代码: