2021/6/1
第一题、两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
示例:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
解题:
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
if len(nums)<2:#可要可不要,按照题目要求是不会出现列表元素小于2的情况的,甚至不会出现列表元素之和不满足target的情况
return
else:
for i in range(len(nums)-1):#从nums里依次取索引值。之前纠结于别人的代码写的都是len(nums),没有减一,后来意识到因为j是从i+1开始取的,不会存在有列表最后一个索引值取两遍的情况
for j in range(i + 1 ,len(nums)):#从i+1开始自nums里取索引值,使得不会出现i,j重复的情况
if nums[i] + nums[j] == target:#之前这里一直报错,说nums无法引用,后来我意识到是括号的问题,之前一直错用成了小括号,nums[i]才代表列表元素
return [i,j]#将i,j的结果返回,用列表保存