题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
这是本人在刷力扣,所用到的方法。前面的两种方法总是会遇到运行时间超时的苦恼,知道方法三的出现。
方法1:双循环遍历法
class Solution():
@staticmethod
def twoSum(nums, target):
if len(nums) < 2:
return
for i in range(0, len(nums) - 1):
for j in range(i + 1, len(nums)):
if nums[i] + nums[j] == target:
return [i, j]
nums = [2, 7, 11, 15]
target = 9
numbers = Solution.twoSum(nums, target)
print(numbers)
输出结果为:
[0, 1]
Running time: 2.9606447415791367e-05 Seconds
方法2:没有名字(——)
class Solution():
@staticmethod
def twoSum(nums, target):
if len(nums) &