【发布时间】:2014-03-24 16:21:21
【问题描述】:
因此,使用 for 循环或 while 循环查找数组的最大值非常简单,但我想尝试使用递归。出于某种原因,子字符串不起作用 - 它说“找不到符号”。为什么是这样?我的策略是继续细分并比较两侧,直到只剩下一个应该是最大值的地方......我做得对吗?谢谢
public static int max(int[] array) {
if (array.length == 1) {
return array[0];
} else {
int mid = (array.length) / 2;
int leftmax = max(array.substring(0, mid));
int rightmax = max(array.substring(mid, array.length));
if (leftmax > rightmax) {
return leftmax;
} else {
return rightmax;
}
}
}
【问题讨论】:
-
这是什么编程语言?爪哇? JavaScript?
-
为什么要递归?你可能会炸掉你的筹码。
-
我需要练习我的递归:o
-
如果您等待几分钟,我将使用有效的解释递归添加答案。我希望你能从中吸取教训,现在,你根本没有使用递归 :)。
-
@libik 为什么你说他没有使用递归?他正在从
max()内部呼叫max()。这就是递归。