相关疑难解决方法(0)

找到所有可能的数字组合以达到给定的总和

您将如何测试一组给定数字的所有可能的添加组合,以便它们加起来给定的最终数字?

例:

  • 要添加的数字集:{1,5,22,15,0,...}
  • 期望的结果:12345

language-agnostic algorithm search combinations subset-sum

207
推荐指数
10
解决办法
33万
查看次数

在数组中找到总和等于给定值的最小元素

我试图找出数组中的总和等于给定输入的最小元素。我尝试了很少的输入总和,但在第一种情况下只能找到一对,而我需要实现的不仅仅是一对。

var arr = [10, 0, -1, 20, 25, 30];
var sum = 45;
var newArr = [];
console.log('before sorting = ' + arr);

arr.sort(function(a, b) {
  return a - b;
});
console.log('after sorting = ' + arr);

var l = 0;
var arrSize = arr.length - 1;

while (l < arrSize) {

  if (arr[l] + arr[arrSize] === sum) {
    var result = newArr.concat(arr[l], arr[arrSize]);
    console.log(result);
    break;
  } else if (arr[l] + arr[arrSize] > sum) {
    arrSize--;
  } else { …
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting

8
推荐指数
1
解决办法
2208
查看次数