Найдите частоту строки «BBA» в массиве символов, используя рекурсию в Java.JAVA

Программисты JAVA общаются здесь
Anonymous
Найдите частоту строки «BBA» в массиве символов, используя рекурсию в Java.

Сообщение Anonymous »

Упражнение по рекурсивным методам:
Используйте технику «разделяй и властвуй», чтобы написать метод Java
int findBBA(массив char[], int left, int right) который возвращает частоту
строки ''BBA'' в массиве, расположенном слева направо.
Привет всем, мне удалось решить только такую ​​проблему когда последовательность
была длиной в два символа/цифры (например, количество вхождений «01» в
массиве целых чисел или «BA» в одном из символов).
Я провел небольшое исследование, но не нашел решения этой проблемы. Кто-нибудь может помочь?
Большое спасибо.
public static int _findBBA(char[] a, int l, int r) {

if(l+2 >= r)

return 0;

int mid = (l+r)/2;

int find1 = _findBBA(a, l, mid);
int find2 = _findBBA(a, mid, r);

int res = find1 + find2;

if(a.length % 2 == 0) {

if(a[mid-1] == 'B' && a[mid] == 'B' && a[mid+1] == 'A')
res++;

if(a[mid-2] == 'B' && a[mid-1] == 'B' && a[mid] == 'A')
res++;
}

else
if(a[mid-1] == 'B' && a[mid] == 'B' && a[mid+1] == 'A')
res++;

return res;
}


Подробнее здесь: https://stackoverflow.com/questions/783 ... -recursion

Вернуться в «JAVA»