-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我發現一些解決方案,那些剛剛解決找到一對數字等於給定的總和。 –