найти положение последовательностей одного и того же символа в строке - PullRequest
1 голос
/ 23 января 2012

Это кажется очень простым, но если у меня есть умственный блок.
У меня есть строка, которая содержит, скажем, только '_' и 'x', и мне нужно найти обратные позиции всех x-последовательностей:

xxx___xxx___xxx
___x__xxx_xxx__

Какой самый быстрый подход? Должен ли я использовать KMP или BM или это излишнее количество?

1 Ответ

4 голосов
/ 23 января 2012

Вы можете сканировать строку буква за буквой. Вот псевдокод в Python:

 prev = ''
 # enumerate(collection) enumerates collection elements along with their indices
 # in the form of tuple (index, element)
 # in python strings are collections of characters
 for i, c in enumerate(string):  
     if c == 'x' and c != prev:
          print "found x sequence at position %d" % i # (this prints out the index)
     prev = c
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...