0
点赞
收藏
分享

微信扫一扫

[算法导论] 1.两数之和

SPEIKE 2022-02-05 阅读 54
算法

0.题目

1.哈希表 o(N) o(N)

建立哈希表,需要o(N)空间复杂度。

class Solution(object):
    def twoSum(self, nums, target):
        hashtable = dict()
        for i,num in enumerate(nums):
            if target-num in hashtable:
                return hashtable[target-num],i
            hashtable[nums[i]] = i #nums按先后顺序进入哈希表
        return [] #没有元素对

2. 暴力枚举 o(N^2) o(1) 

class Solution:
    def twoSum(self, nums, target):
        n = len(nums)
        for i in range(n):
            for j in range(i + 1, n):
                if nums[i] + nums[j] == target:
                    return [i, j]
        
        return []
举报

相关推荐

0 条评论