Two sum 两数之和

解法一:
用字典记录数组的值和下标。
第一遍遍历建立字典
第二遍遍历查找值

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

解法二:
一边查找一边建立字典。
遍历一遍

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        memo = {}
        for i in range(len(nums)):
            delta = target-nums[i]
            if delta in memo and memo[delta]!=i:
                return i,memo[delta]
            memo[nums[i]]=i
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容