Python 求解二和问题的线性搜索问题
我尝试了最简单的问题来解决二和问题 问题是: 给定一个整数数组,返回两个数字的索引,使它们相加到一个特定目标。 您可以假设每个输入都有一个解决方案,并且不能使用同一个元素两次 我的概念计划:确定第一个数字并查找(目标-优先)Python 求解二和问题的线性搜索问题,python,python-3.x,Python,Python 3.x,我尝试了最简单的问题来解决二和问题 问题是: 给定一个整数数组,返回两个数字的索引,使它们相加到一个特定目标。 您可以假设每个输入都有一个解决方案,并且不能使用同一个元素两次 我的概念计划:确定第一个数字并查找(目标-优先) 使用:O(n)迭代*O(n)线性搜索 from typing import List class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: f
使用:O(n)迭代*O(n)线性搜索
from typing import List
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)): #loop
find = target - nums[i]
print(i, find)
for j in range(i, len(nums)):#linear search
if find == nums[j]:
print(j)
return [i, j]
return None
当我试图检查它的时候
In [51]: Solution().twoSum(nums, target)
0 3
0
Out[51]: [0, 0]
找不到问题,陷入了leecode中最简单的问题。尝试在第二个循环中从
i+1
循环到len(nums)
,因为不能两次使用同一元素。除此之外,它看起来是正确的