我一直在练习递归,试图让它更舒适,但是这个问题一直困扰着我。
我应该写一个递归程序,将数组中的每个元素加起来三元组。起初,它似乎很简单。三元组递归递归的每个元素
public static void triple (int[] a, int index) {
if (index < a.length()) {
a[index]*=3;
triple(a, index + 1);
}
}
但是当我再次看到问题时,我意识到我犯了一个错误。该方法的参数只能是一个没有索引的整数数组。
我该如何解决这个问题?
我认为他们打算让你编写一个辅助方法并从单参数方法中调用它。 –
如果你要练习递归,你应该选择本质递归的问题。不适合使用递归的原因。这就像是买一把新的链锯,并决定用它来雕刻火鸡。递归可能非常强大,但在许多情况下它并不合适。 –
Miam turkey;)无论如何,你总是可以返回索引而不是将其作为参数传递。 – JFPicard