Leetcode 1. 两数之和

一、题目

题目描述:
Leetcode 1. 两数之和_第1张图片

二、思路

解法一:
暴力搜索;
解法二:
建立一个字典用容器cache进行缓存;

三、代码

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        cache = {}
        for idx, num in enumerate(nums):
            if target - num in cache:
                return [cache[target - num], idx]
            cache[num] = idx
        return None

四、复杂度分析

解法一:
时间复杂度为:O(N^2),空间复杂度为:O(1)
解法一:
时间复杂度为:O(N),空间复杂度为:O(N)

附录:
python各容器的操作复杂度:
https://wiki.python.org/moin/TimeComplexity

你可能感兴趣的:(编程题,leetcode,数组)