码迷,mamicode.com
首页 > 编程语言 > 详细

Two Sum [easy] (Python)

时间:2018-06-01 14:27:39      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:self   bsp   下标   nbsp   个数   div   for   python   不必要   

由于题目说了有且只有唯一解,可以考虑两遍扫描求解:第一遍扫描原数组,将所有的数重新存放到一个dict中,该dict以原数组中的值为键,原数组中的下标为值;第二遍扫描原数组,对于每个数nums[i]查看target-nums[i]是否在dict中,若在则可得到结果。 
当然,上面两遍扫描是不必要的,一遍即可,详见代码。

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        keys = {}
        for i in xrange(len(nums)):
            if target - nums[i] in keys:
                return [keys[target - nums[i]], i]
            if nums[i] not in keys:
                keys[nums[i]] = i

 

Two Sum [easy] (Python)

标签:self   bsp   下标   nbsp   个数   div   for   python   不必要   

原文地址:https://www.cnblogs.com/boluo007/p/9121324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!