0
点赞
收藏
分享

微信扫一扫

两数之和 两种解法(Python)

哈哈镜6567 2022-05-03 阅读 65
算法

暴力求解 双重循环遍历数组 时间复杂度 O(N^2)

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        for i in range(len(nums) - 1):
            for j in range(i + 1, len(nums)):
                if nums[i] + nums[j] == target:
                    return [i, j]
        return []

使用dict进行查找 时间复杂度O(N)

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        d = {}
        for i in range(len(nums)):
            if (target - nums[i]) in d:
                 return [d[target - nums[i]], i]
            d[nums[i]] = i
        return []
举报

相关推荐

0 条评论