leetcode #1 两数之和
程序员文章站
2024-03-09 11:47:17
...
题目描述:
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
心情复杂
这题是我梦的终结吧!?嘤嘤嘤
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
因为有重复值,所以不可以用先排序再二分的方法哦~
上一篇: [数据库]Oracle查看、配置实例名服务及重启监听
下一篇: leetcode-2 两数相加