LeetCode217 ContainsDuplicate
LeetCode挑戦1日目
とりあえず、書き書き。
どうやらLeetCodeでは Outputは return にのせればいいことを発見。
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
gen_num_list = []
for num in nums:
if num in gen_num_list:
print("True")
return True
gen_num_list.append(num)
print("False")
return False
よし、debug 通った!提出!
「…とおもいきや、TimeExceeeded」
あきらめて、答えを見ました。
「…なるほど、set は早いって聞いたことがあるぞ。」
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
gen_num_set = {}
for num in nums:
if num in gen_num_set:
return True
gen_num_set.add(num)
return False
dict に add()なんかありませんよエラー…
そうですね、 set()としなければいけません。
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
gen_num_set = set()
for num in nums:
if num in gen_num_set:
# when add, check with 'in'
return True
# add each nums to new list
gen_num_set.add(num)
return False
ようやく提出。
無事通りましたが、メモリがかなり食ってそうです。
ひとまず1日目は終了ということで…
この記事が気に入ったらサポートをしてみませんか?