0
пытается написать функцию, которая находит последнее вхождение мишени в векторе, изменяя линейную функцию поиска ...Java: Назад Рекурсивный Линейный поиск
private int linearSearchRecursive(int[] input, int key,int index) {
if (index == 0) {
return -1;
}
if (input[index] == key) {
return index;
}
else
return linearSearchRecursive(input,key,--index);
}
Я придумал способ, чтобы заставить его работать с помощью вспомогательной функции ...
public static int findLastOccurance(int[] items, int key){
return linearSearchRecursive(items, key, items.length - 1);
}
Или что-то в этом роде, но было интересно, если есть более простой способ, где я мог бы использовать только одну функцию, но сохранить рекурсивность?
Если вы собираетесь оценивать каждую запись, начиная с конца, я не понимаю, почему вы заморачиваться с рекурсии в первую очередь. Это довольно итеративный подход, и рекурсия не приносит ничего, кроме накладных расходов и путаницы в этом конкретном случае. – Joffrey
@ Joffrey Я не мог согласиться больше, его часть обзора для теста, который я придумал, поэтому я пытаюсь понять это в мысли, что что-то подобное может появиться на тесте. – Bob