第一次尝试:失败
def checkMagazine(magazine, note):
for word in note:
if word in magazine:
magazine.remove(word)
elif word not in magazine:
print('No')
return
print('Yes')
非常直白的逻辑,可惜时间复杂度是O(mn),测试时有三个test cases出现timeout error。究其原因,还是array的remove操作太慢,最坏情况需要O(n)时间。
第二次尝试:失败
def checkMagazine(magazine, note):
col1=set(magazine)
col2=set(note)
if col2.difference(col1)==set():
print('Yes')
else:
print('No')
第二次,想到了利用数据结构集合的特性来直接检