这是我的测试分治程序,但它给了我一个错误。我正朝着正确的方向前进?
public class getSum {
static int sum = 0;
public static void main(String[] args) {
int[] numbers = {2,2,2,2,2,2,2,2};
int amount = 0;
amount = sumArray(0,numbers.length,numbers);
System.out.print(amount);
}
public static int sumArray(int first, int last, int[] A){
int index = last - first;
if(index == 1){
return sum;
}else if(index <= 4 && index > 1){
for(int i = first; first < last; i++){
sum += A[i];
}
return sum;
}
return (sumArray(first, last / 2, A) + sumArray(last / 2, A.length, A));
}
}
这是 getSum.sumArray(getSum.java:16) 线程“main”java.lang.StackOverflowError 中的错误异常
我正在寻找一个简单的例子,将 16 个数组分解为基本情况 4。我无法完全理解如何吐出数组,然后再次拆分它。然后最后合并所有的拆分。