Лучший способ, по моему мнению, создать массив, каждый элемент массива отвечает за одну пару символов в строке рядом друг с другом, например, сначала aa, bb, cc, dd. Эта конструкция массива с 0 на каждый элемент.
Решить эту проблему можно с помощью этой строки и обновить значения массива.
Затем вы можете проанализировать этот массив для того, что вы хотите.
Пример: Для строки: bbaaaccccdab ваш массив результатов будет {2, 1, 3}, потому что «aa» может найти 2 раза, «bb» может найти один раз (в начале строки), «cc» может найти три раза.
Почему "cc" три раза? Потому что 'cc'cc & c'cc'c & cc'cc'.