-1
从总和等于给定数的未排序数组中查找给定数量的元素。从总和等于给定数的未排序数组中查找给定数量的元素
我写下面的代码,它几乎工作。但复杂度是O(n^2)。有更好的解决方案吗?
(function test(sum = 14, n = 4, nums = [7, 6, 1, 3, 2, 5, 4]) {
for (var i = 0; i < nums.length; i++) {
var rest = sum
var ret = []
var j = i;
do {
if (rest - nums[j] >= 0) {
rest = rest - nums[j]
} else {
j++
continue
}
ret.push(nums[j])
if (rest == 0 && ret.length == n) {
console.log("done", ret)
}
j++
} while (j < nums.length)
}
})()
您有问题吗?你只是想让别人做你的功课? – JJJ
你尝试过什么吗? –
@TimBiegeleisen我发现一些解决方案,那些刚刚解决找到一对数字等于给定的总和。 –