无法找到二和问题的正确输出
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):
【讨论】:
以上是关于无法找到二和问题的正确输出的主要内容,如果未能解决你的问题,请参考以下文章
了解为啥我的 C# 中的二和(LeetCode 问题)代码不适用于 [1,2] 的预期答案