gpt4 book ai didi

Javascript:2 个具有相同 "weight"的数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:01:56 24 4
gpt4 key购买 nike

我试图弄清楚如何让 2 个阵列按其重量平衡。

我已经有一个存储 10 个整数的数组。像这个例子:

var arrayToSplit = new Array();
arrayToSplit = [1, 1, 4, 2, 3, 2, 3, 1, 4, 2]; //Total 23

我需要获取这些值并将它们推送到 2 个新数组,但有一个条件:

我需要在它们之间具有相同的权重,或类似的,并且两个数组都有 5 个数字。所以它看起来像这样。

new array = [4, 3, 2, 1, 1]; //Total 11
new array2 = [4, 3, 2, 1, 2]; // Total 12

最佳答案

我实现了 pseudo-polynomial algorithm (这样做很快所以请原谅任何错误):

http://jsfiddle.net/536Z2/1/

arrayToSplit = [1, 1, 4, 2, 3, 2, 3, 1, 4, 2]; //Total 23
result = find_partition(arrayToSplit);
console.log(result[0]);
console.log(result[1]);

function find_partition(integers) {
var array01 = [];
var array02 = [];
var partitionedArrays = [];
var arrayLength = integers.length;
for (var i = 0; i < arrayLength; i++) {
if (sumArray(array01) <= sumArray(array02)) {
array01.push(integers[i]);
} else {
array02.push(integers[i]);
}
}

partitionedArrays.push(array01);
partitionedArrays.push(array02);
return partitionedArrays;
}

function sumArray(array) {
var count = 0;

var arrayLength = array.length;
for (var i = 0; i < arrayLength; i++) {
count += array[i];
}

return count;
}

关于Javascript:2 个具有相同 "weight"的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21357545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com