0
点赞
收藏
分享

微信扫一扫

1. Two Sum刷题笔记

玉字璧 2022-04-18 阅读 73

问题描述
第一版代码,复杂度为n平方

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

在这里插入图片描述
O(n)的解法是通过查表的方法来解决速度果然快上不少

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        d = {}
        for i,n in enumerate(nums):
            m = target-n
            if m in d:
                return [d[m],i]
            else:
                d[n]=i

在这里插入图片描述

举报

相关推荐

0 条评论