gpt4 book ai didi

java - 递归添加子集

转载 作者:太空宇宙 更新时间:2023-11-04 15:04:51 26 4
gpt4 key购买 nike

我有一个适用于输入的案例:

{-5,0,5}, 2, 0   // which correctly evaluates to true
{-5,0,5}, 3, 4 // which correctly evaluates to false
{-5,0,5}, 3, 0 // which correctly evaluates to true

但输入:

{6,5,6}, 2, 12  // says false when true

它没有给出正确的 boolean 值...有人可以帮助调试问题吗?

public static boolean subset(int[] array, int n, int target) {
for (int i = 0; i < array.length; i++) {
int[] list = new int[array.length - 1];

for (int j = 0; j < array.length - 1; j++) {
list[j] = array[j+1];
}
subset(list, n, target);
}

int sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}

if (sum == target) {
return true;
}
else {
return false;
}
}

最佳答案

不确定你要计算什么,但我怀疑你的问题在于subset(list,n,target)的递归调用。您没有更改对象并且忽略了返回值。另外:您根本没有使用变量“n”。

关于java - 递归添加子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22135866/

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