Количество последовательностей - Char в String Java - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть следующее задание: Посчитайте, сколько «запусков» данного символа появляется в данной строке. «Выполнение» - это последовательный блок одного или нескольких вхождений одного и того же символа. Например, если строка «AATGGGGCCGGTTGGGGGGGGGAAGC» и символ «G», возвращает 4. Без импорта, '?' разрешено Моя попытка:

public static int charRunCount(String str, char c){
    int counter = 0;
    for (int i = 0; i < str.length()-1; i++) {
        if ( (str.charAt (i) == str.charAt (i+1)) && str.charAt (i)==c )
            counter+=1;
    }
    return counter;
}

выход = 12, Пожалуйста, помогите исправить или исправить.

1 Ответ

0 голосов
/ 02 ноября 2018

Вы хотите посчитать, сколько раз начинается запуск определенного персонажа. Длина пробега не имеет значения.

public static int charRunCount(String str, char c) {
    char last = 0;
    int counter = 0;
    for (int i = 0; i < str.length(); i++) {
        // whenever a run starts.
        if (last != c && str.charAt(i) == c)
            counter++;
        last = str.charAt(i);
    }
    return counter;
}
...