我有一个n = 8且k = 4的数字
我想将n排列成k组,总计为n
示例: 假设n = 7和k = 3的预期结果应为:{1 1,5},{1,2,4},{1,3,3},{2,2,3},即(4)>
n = 4且k = 2的预期结果应为:{2,2},{1,3},即(2)
我试图得到一对加在一起的数字。 我想知道如何有效地解决它,而无需单独求解k。
function answerQuery(n, k) {
const items = [];
let pairs = 0
for (let i = 1; i < n; i++) {
items.push(i)
}
let a = 0;
let b = items.length - 1;
while (a <= b) {
let tmp = items[a] + items[b];
if (tmp == n) {
pairs ++
}
a++;
b--;
}
return pairs
}