javascript - LeetCode EASY TwoSum 解释
问题描述
我已经分析了 Leetcode 问题的答案,并询问我的推理是否正确。我试着分析 whennum = 2
和 when num = 7
。分析由 // 分隔。
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)
var diff = target - num
对于 2,diff = 9 - 2 = 7。 // 对于 7,diff = 9 - 7 = 2
var k = nums.indexOf(diff)
indexOf(7) = 1 → k = 1。 // indexOf(2) = 0 → k = 0。
if (k > -1 && k !== i)
1 > -1 && 1 !== 0。 // 0 > -1 && 0 !== 1。
result[0] = i
结果[0] = 0。 // 结果[0] = 1
result[1] = k
结果[1] = 1. // 结果[1] = 0
return result
[0,1] // [1, 0]
所以答案应该是 [0,1] 但是当num = 7
我得到 [1,0] 并且想知道为什么当我得到 [0,1] 和 [1,0] 时该函数被接受为正确答案。
解决方案
因为您的答案不需要排序。[0,1] 和 [1,0] 都是正确的。
推荐阅读
- ios - 将按钮标题标签文本附加到文本字段文本
- php - 带有子文件夹的 Laravel Websockets 仪表板基本路径不起作用
- java - 为什么更改场景时随机绑定的值会重置?
- javascript - react-dom - 在测试中对 ... 的更新未包含在 act(...) 中
- python - 远程服务器上的 .pyc 文件问题
- python - 时间线 - Python - 数据可视化
- keras - 单个指标返回多个值
- node.js - 尝试同时运行 Express 和 Vue 时出错
- c++ - 检测使用 CRTP 的类中的成员函数
- python - 是否有类似于 np.random.choice 的函数在概率分布中选择较低值的概率更高?