LeetCode-两数之和

2019-10-21  本文已影响0人  shicoder

题目:

题目链接
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

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

分析

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        print(len(nums))
        fanhui=[]
        length=len(nums)
        for i in range(length):
            a=nums[i]
            for j in range(i+1,length):
                b=nums[j]
                # print(b)
                if a+b==target:
                    fanhui.append(i)
                    fanhui.append(j)
                    
        return fanhui
class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        hashmap={}
        for i,num in enumerate(nums):
            if num in hashmap:
                return[hashmap[num],i]
            else:
                hashmap[target-num]=i
上一篇下一篇

猜你喜欢

热点阅读