问题描述:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1]
注:就是给定一个数组列表 nums,给定一个值 target 找出列表中两个和为target的元素的索引。
解法1:
def twoSum(self, nums, target):
lt=[]
n=0
for i in nums:
n+=1
for k in nums[n:]:
if i+k==target:
lt.extend(nums.index(i))
lt.extend(nums.index(k))
return list
解法2:
def twoSum(self, nums, target):
lt=[]
a = {}
for index, value in enumerate(nums):
if target - value in a:
lt.extend([a[target - value], index])
else:
a[value] =index
return lt
内置函数 enumerate 用法:
enumerate(sequence, [start=0])
参数
- sequence -- 一个序列、迭代器或其他支持迭代对象。
- start -- 下标起始位置。
返回值
返回 enumerate(枚举) 对象。
一般与for 循环连用: for index,value in enumerate(list):
本文深入探讨了经典的“两数之和”算法问题,提供了两种解决方案:一种是通过双重循环遍历查找,另一种则是利用字典进行高效匹配。同时,介绍了Python内置函数enumerate的使用方法,帮助读者理解如何在列表中同时获取元素及其索引。
444

被折叠的 条评论
为什么被折叠?



