Leetcode. twoSum скорость выполнения и объем памяти
Всем доброго дня
Начал решать задачи на leetcode. Самая первая задача twoSum. Два схожих решения, но скорость выполнения и объем занимаемой памяти отличаются
-
У данного решения runtime 40 ms и объем памяти 14.2 mbclass Solution(object): def twoSum(self, nums, target): compliment = {} for i,num in enumerate(nums): key = target - num if key in compliment: return [i,nums.index(key)] compliment[num] = target - num
-
А у данного решения runtime 48 ms и объем памяти 14.4 mbclass Solution(object): def twoSum(self, nums, target): compliment = {} for i,num in enumerate(nums): key = target - num if key in compliment: return [i,compliment[key]] compliment[num] = i
Данная разница возникает за счет того, что время обращения к объектам словаря больше чем к объектам массива?
Источник: Stack Overflow на русском