【发布时间】:2014-03-04 03:53:21
【问题描述】:
所以问题来了:创建一个 int [] 递归方法,计算数组中的累积总和,并通过将数组中前面的值的总和添加到该值来转换数组中的每个值。例如,如果
数字 = [5, 6, 7, 2, 3, 1], 那么
结果 = [5, (5)+6, (5+6)+7, (5+6+7)+2, (5+6+7+2)+3, (5+6+7 +2+3)+1],
即,结果 = [5, 11, 18, 20, 23, 24]。
注意事项是:不能使用静态或 void 方法,不能使用循环。 到目前为止,这是我的代码:
public int[] computeCumulativeSums(int[] numbers){
if(numbers.length == 0)
{
return numbers; // Base case
}
else
{
//recursive stage not implemented. Don't know how to implement
return numbers;
}
}
//Helper method
public int [] addNumbers(int [] list, int index)
{
if(index == 0)
{
return list; //Helper method base case
}
else
{
//recursive case
return addNumbers(list, index - 1);
}
}
public boolean searchTable(int[][] data, int element){
return true;
}
public static void main(String [] args){
Recursion r = new Recursion();
int[] numbers = new int[] {5, 6, 7, 2, 3, 1};
System.out.println(Arrays.toString(r.computeCumulativeSums(numbers)));
}
输出:[5, 6, 7, 2, 3, 1]
我要问的是朝着正确的方向前进,因为我对此非常迷茫。您的帮助将不胜感激。
【问题讨论】: