1、两数之和
思路:在访问数据元素的时候,把它保存下来。在访问其它的元素时就可以找它对应组成和的那个元素是否在访问过的里面,这样一次循环就够了。利用python的字典。
class Solution:
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
n = len(nums)
#创建一个空字典
d = {}
for x in range(n):
a = target - nums[x]
#字典d中存在nums[x]时
if nums[x] in d:
return d[nums[x]],x
#否则往字典增加键/值对
else:
d[a] = x
#边往字典增加键/值对,边与nums[x]进行对比
第一次写的时候参考了别人的思路,但是为什么是上面那样? 第二次来看没看懂。。 参考https://blog.csdn.net/linfeng886/article/details/79772348 吧