美文网首页
leetcode-两数之和

leetcode-两数之和

作者: 圆圆KK | 来源:发表于2019-01-21 16:53 被阅读0次

    给定 nums = [2, 7, 11, 15], target = 9
    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回 [0, 1]

    方法一
    使用for循环,直接找出是否存在target-num[i]

    class Solution(object):
        def twoSum(self, nums, target):
            for i in range(len(nums)):
                j = target -nums[i] 
                if j in nums :
                    k = nums.index(j)
                    if k!=i:
                        return [i,k]
    

    方法二
    使用字典,将值作为键,位置作为值查询

    class Solution(object):
        def twoSum(self, nums, target):
            dict_a = {}
            for i in range(len(nums)):
                if nums[i] in dict_a:
                    return [dict_a[nums[i]], i]
                else:
                    dict_a[target - nums[i]] = i
    

    相关文章

      网友评论

          本文标题:leetcode-两数之和

          本文链接:https://www.haomeiwen.com/subject/ikicjqtx.html