Нужно написать статическую рекурсивную функцию, которая принимает массив целых чисел, начальный индекс и значение

Нужно написать статическую рекурсивную функцию, которая принимает массив целых чисел, начальный индекс и значение; функция возвращает (но не выводит!) количество вхождений этого значения в части массива, начиная с заданного индекса. Не используя статические поля, циклы или дополнительные массивы / коллекции / строки.

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);
}
→ Ссылка