首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LeetCode简易TwoSum解释

LeetCode简易TwoSum解释
EN

Stack Overflow用户
提问于 2020-03-16 09:06:05
回答 2查看 66关注 0票数 0

Leetcode问题

我分析了Leetcode问题的答案,并询问我的推理是否正确。我试着分析何时num = 2和何时num = 7。分析用//分隔开。

代码语言:javascript
运行
复制
function twoSum(nums, target) {
  var result = []
  nums.forEach(function(num, i) {
    var diff = target - num
    var k = nums.indexOf(diff)
    if (k > -1 && k !== i) {
       result[0] = i
       result[1] = k
    }
  })
  return result
}
twoSum([2,7,11,15], 9)
代码语言:javascript
运行
复制
var diff = target - num

对于2,diff =9-2= 7. /对于7,diff =9-7=2。

代码语言:javascript
运行
复制
var k = nums.indexOf(diff)

indexOf(7) =1→k= 1. // indexOf(2) = 0→k=0。

代码语言:javascript
运行
复制
if (k > -1 && k !== i)

1> -1 &1 !== 0.// 0> -1 && 0 !== 1。

代码语言:javascript
运行
复制
result[0] = i

结果= 0。//结果=1

代码语言:javascript
运行
复制
result[1] = k

result1 = 1. // result1 =0

代码语言:javascript
运行
复制
return result

0,1 / 1,0

所以答案应该是0,1,但当num = 7得到1,0时,我想知道为什么当我得到0,1和1,0时,函数被接受为正确的答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-16 09:15:28

因为你的答案不需要分类。0,1和1,0都是正确的。

票数 4
EN

Stack Overflow用户

发布于 2022-01-17 08:25:34

你可以用任何命令返回答案。

见leetcode描述

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60703040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档