首页 > 其他 > 详细

LeetCode : Two sum

时间:2017-02-24 23:54:32      阅读:374      评论:0      收藏:0      [点我收藏+]

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

题意:
就是给一个数组,找到两个元素的值之和为给定值,返回元素下标

分析:
最直接的做法就是暴力,但是时间复杂度肯定不行,然后想到用哈希,以空间换时间即可,先将数组转换为哈希表即可

python代码
class Solution(object):
    def twoSum(self, nums, target):
        if len(nums) <= 1:
            return False
        buff_dict = {}
        for i in range(len(nums)):
            if nums[i] in buff_dict:
                return [buff_dict[nums[i]], i]
            else:
                buff_dict[target - nums[i]] = i

 

LeetCode : Two sum

原文:http://www.cnblogs.com/RichardWang/p/6440688.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!