![見出し画像](https://assets.st-note.com/production/uploads/images/127158689/rectangle_large_type_2_4a66b5f2a06759684f86d4a0f42067e3.png?width=1200)
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
![](https://assets.st-note.com/img/1704810211446-QsNhUYFqRV.png?width=1200)
ようやく提出。
無事通りましたが、メモリがかなり食ってそうです。
ひとまず1日目は終了ということで…
この記事が気に入ったらサポートをしてみませんか?