Я пытаюсь рекурсивно найти два элемента в массиве с наименьшей разницей (предположим, что массив уже отсортирован в порядке возрастания).рекурсивно находим два элемента с наименьшей разницей в массиве
Я пытался получить свой код, чтобы просто вернуть наименьшую сумму, но с рекурсией что-то не работает.
public class SmallestDiff {
public static void main (String [] args){
int [] x = {1,3,6,9,126};
System.out.println(smallestDiff(x,4));
}
public static int smallestDiff (int [] array, int index){
int result;
if (index>0){
int diff = Math.abs((array[index]-array[index-1]));
result = Math.min (diff, smallestDiff(array,index-1));
}
else {
return array[0];
}
return result;
}
}
Я предполагаю, что это должно быть обучение рекурсивных методов. На практике ваша задача должна быть решена с помощью итерации. – AlexWien