Я пытаюсь научить себя DS + A, но борюсь с некоторыми вопросами.
https://leetcode.com/problems/contains-duplicate/
Для этого вопроса первым подходом, который пришел мне в голову, были хеш-таблицы.Я знаю, что вы можете сделать один вкладыш с наборами, но я хочу попробовать использовать хеш-таблицы.
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
duplicates={}
for i in range(len(nums)):
if i in duplicates:
return False
return True
Он проходит 11/18 случаев, но для тестового случая [0] возвращает True, когда ожидаемый результат равен False.Кажется, я не могу понять, почему он возвращает False.
Я понял.Оператор return был слишком глубоким, и мне приходилось обновлять его для каждого цикла.
def containsDuplicate(self, nums: List[int]) -> bool:
duplicates={}
for i in nums:
if i in duplicates:
return True
else:
duplicates[i] = 0
return False ```