-3
ソートされていない配列があれば、最大値と最小値を見つけます。私はこれを再帰的に行い、分割して征服する方法を試みていますが、スタックオーバーフローエラーが続きます。私はデバッグし、私は再帰呼び出しでエラーを受け取り続けますが、何が間違っているのか、それを修正する方法はわかりません。再帰スタックオーバーフローエラー
私は静的な最小と最大の変数を持っています。
ありがとうございました!ここで
static void findMaxMin(int[] array, int start, int end)
{
if (end == 2)
{
setMaxMin(array);
}
else
{
int mid = ((end)/2);
findMaxMin(array, start, mid);
findMaxMin(array, mid + 1, end);
}
}
private static void setMaxMin(int[] array)
{
if (array[0] > array[1])
{
max = array[0];
min = array[1];
}
else
{
min = array[0];
max = array[1];
}
}
あなたが出口点が欠落しているようだ、あなたは時にコードがすべき伝える必要がありますやめる。たとえば、start> = endです。 – Prisoner
私は再帰の基本条件に疑いがあります。 –
まあ 'setMaxMin'は最初の2つのインデックスだけを見ているので、配列がもっと長い場合、正確にはどうなるでしょうか? – juharr