线性搜索中的问题解决了两个问题

问题描述 投票:1回答:1

我在Leecodes中尝试了最容易解决问题的问题,

问题:

给定一个整数数组,返回两个数字的索引,使它们相加到特定目标。您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素。

我的概念计划:修复第一个数字并找到(目标 - 第一个) 使用: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中最简单的问题。

python python-3.x
1个回答
2
投票

尝试在第二个循环中从i + 1循环到len(nums),因为你不能两次使用相同的元素。除此之外它看起来是正确的。

© www.soinside.com 2019 - 2024. All rights reserved.