Возвращает 0
для пустого массива и 1
для непустого массива.Результат, который вы видите, пришел от index
, а не от count
, как вы ожидаете.
Я бы написал его без поля.
public int m(int[] nums, int index, int count) {
return index < nums.length ?
m(nums, index + 1, nums[index] == 11 ? ++count : count) :
count;
}
или (предложено @Pshemoв комментариях)
public int m(int[] nums, int index) {
return index < nums.length ?
(nums[index] == 11 ? 1 : 0) + m(nums, ++index) :
0;
}