Leetcode. twoSum скорость выполнения и объем памяти

Рейтинг: 0Ответов: 0Опубликовано: 24.07.2023

Всем доброго дня
Начал решать задачи на leetcode. Самая первая задача twoSum. Два схожих решения, но скорость выполнения и объем занимаемой памяти отличаются

  1. class 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 40 ms и объем памяти 14.2 mb
  2. class 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
    
    А у данного решения runtime 48 ms и объем памяти 14.4 mb

Данная разница возникает за счет того, что время обращения к объектам словаря больше чем к объектам массива?

Ответы

Ответов пока нет.