Loading

两数之和


返回 我的技术栈(Technology Stack)



题目描述:
image

解法:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        dict = {}
        for i in range(len(nums)):
            temp_num  = target-nums[i]
            if temp_num not in  dict:
                dict[nums[i]] = i
            else:
                return [dict[temp_num],i]

解说:
image

之所选用Python中的字典来存储,是因为dict内置操作的时间复杂度

Operation Big-O Efficiency explain
copy \(O(n)\) 把所有的元素都复制一份
get item \(O(1)\)
set item \(O(1)\)
delete item \(O(1)\)
contains (in) \(O(1)\) 维护了一个键值对,可以快速找到
iteration \(O(n)\)
查找字典中的元素,因为维护了一对键值对,所以使用\(O(1)\)复杂度找到数据。

posted @ 2021-05-16 18:39  言非  阅读(59)  评论(0)    收藏  举报