Нужно написать статическую рекурсивную функцию, которая принимает массив целых чисел, начальный индекс и значение
Нужно написать статическую рекурсивную функцию, которая принимает массив целых чисел, начальный индекс и значение; функция возвращает (но не выводит!) количество вхождений этого значения в части массива, начиная с заданного индекса.
Не используя статические поля, циклы или дополнительные массивы / коллекции / строки.
public class Recursv {
static int count(int[] arr, int from, int what) {
// ...
}
public static void main(String[] args) {
int[] a = {2,3,2,4,3,1,6,3,2,3};
System.out.println("2 -> " + count(a,0,2));
System.out.println("3 -> " + count(a,0,3));
}
}
Должен напечатать:
2 -> 3
3 -> 4
Ответы (1 шт):
Автор решения: tewboat
→ Ссылка
static int count(int[] arr, int from, int what) {
int v = arr[from] == what ? 1 : 0;
if (from == arr.length - 1)
return v;
else return v + count(arr, from + 1, what);
}