欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode #1 两数之和

程序员文章站 2024-03-09 11:47:17
...

题目描述:

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

leetcode #1 两数之和
心情复杂

这题是我梦的终结吧!?嘤嘤嘤
leetcode #1 两数之和
1、 暴力解 (超时了反正,我就不放了太羞耻)
2、用dict,注意!!一定要注意边界条件,比如说输入【3,3】,target = 6,那么输出一定是【0,1】(即下标不同即可),所以判断条件是 i != hashmap[j]: 而不是判断nums[i]、nums[j]是否一致

class Solution:
    def twoSum(self,nums,target):
        i = 0
        hashmap = {}
        for x in nums:
            hashmap[x] = i
            i += 1
        for i in range(len(nums)):
            j = target - nums[i]
            if j in hashmap.keys() and i != hashmap[j]:
                return (i,hashmap[j])
                break

因为有重复值,所以不可以用先排序再二分的方法哦~