无法找到二和问题的正确输出

Posted

技术标签:

【中文标题】无法找到二和问题的正确输出【英文标题】:Unable to find a correct output for the two-sum problem 【发布时间】:2021-10-28 14:48:47 【问题描述】:

请在下面的代码中提及逻辑错误,因为我没有得到正确的输出。此外,请共享正确的内容以仅获取索引的输出。

def find2Sum(A,X):
    n=len(A)
    for i in range(0,n):
        l=[]
        if X-A[i] in A:
            l.append(i)
    return l
            
nums = [1,4,6,44, 9,8]
target = 14
find2Sum(nums,target)
   

【问题讨论】:

【参考方案1】:

@Pradeepta 萨胡 当您拥有target=8 时,nums=[1,4,6,44, 9,8] 的答案应该是 none,因为没有这样的数字。但是使用您的代码逻辑X-A[i] in A i = 1 将导致8-4==4 并将索引附加到L。这是您编写的代码中的主要逻辑错误。 target/2 的任何数字都将通过您的条件。

除此之外,您还在 for 循环内声明了您的 list var,但您在 for 循环外将其返回。

这是错误的

for i in range(0,n):
    l=[]

没错

l=[]    
for i in range(0,n):

【讨论】:

以上是关于无法找到二和问题的正确输出的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Q1 二和单遍哈希表不工作

使用动态规划的背包无法给出正确答案

了解为啥我的 C# 中的二和(LeetCode 问题)代码不适用于 [1,2] 的预期答案

理解二和leetcode问题(Ruby)

关于jsp中无法使用el表达式以及无法通过绝对路径找到文件的问题

无法找到用于消息输出的消息记录sap