【问题标题】:Three Number Sum - Finding triplets that sum to target三数总和 - 查找总和为目标的三元组
【发布时间】:2020-08-24 12:00:13
【问题描述】:

编写一个函数,接收一个由不同整数组成的非空数组和一个目标整数。

您的函数应该找到数组中所有三元组的总和为目标总和,并返回所有这些三元组的二维数组。

每个包含单个三元组的内部数组都应使其所有三个元素按升序排列

尝试

function threeNumberSum(arr, target) {  
    let results = [];

    for (let i = 0; i < arr.length; i++) { 
        let finalT = target - arr[i];    
        let map = {};    

        for (let j = i+1; j < arr.length; j++) { 
            if (map[arr[j]]) { 
                results.push([arr[j], arr[i], map[arr[j]]]);
            } else {
                map[finalT-arr[j]] = arr[j];
            }
        } 
    }

    return results;
}

我的代码格式很有趣,但现在我没有得到任何输出。我是否在某处遗漏了控制台日志?

【问题讨论】:

  • 请从代码中删除有趣的字符。
  • 我清理了你的代码(删除了 \u2028 字符),它工作正常
  • 感谢您的修复,有人看到我在这里做错了什么吗?
  • 您的代码运行良好。这里有什么问题?
  • 将您的测试代码添加到问题中

标签: javascript arrays dictionary sum


【解决方案1】:

你的问题是你读错了输入。

注意问题的最后一部分:如何读取用于测试您的实现的输入

您编写了一个函数,该函数将数组作为第一个参数,将目标整数作为第二个参数。但是输入是一一输入的,所以你的程序应该从控制台输入一次读取一个值。

【讨论】:

  • 好的,那么,我应该改变什么?
  • 您应该编写一个以指定方式获取输入的程序。即一个一个。再读一遍问题,注意细节
  • 我能理解它的意思和你在说什么,我想我不知道如何一个一个地做到这一点
猜你喜欢
  • 2013-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多