Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 求解二和问题的线性搜索问题_Python_Python 3.x - Fatal编程技术网

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)
,因为不能两次使用同一元素。除此之外,它看起来是正确的