python求2数之和

1.题目

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

2.示例 

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

3.解题思路

(1)用两层循环进行解题,不过提交结果后提示 “超出时间限制”,这里就不做讲解。

(2)用字典模拟哈希求解。

遍历数组nums,当遍历到数字 a 时,用 target减去 a,就会得到b,若 b 存在于哈希表中,我们就可以直接返回结果了。若 b 不存在,那么我们需要将 a 存入哈希表(数字a作为key,其索引作为value),好让后续遍历的数字使用。

python内置函数enumerate

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据下标和数据,一般用在 for 循环当中.

举例:

你可能感兴趣的:(算法,python,算法)