Мой профессор говорил об этом в классе динамического программирования и попросил нас подумать над этим. Она также дала нам несколько примеров. Учитывая строку, мы должны были найти самую длинную непрерывную подпоследовательность, обратная сторона которой также является подпоследовательностью, присутствующей в данной строке.
Пример:
INPUT: pqrstuvtsrv
OUTPUT: i=3, k=2
rst -> tsr (rst found first at i=3 and for 2 more positions)
INPUT: mpqrsrqp
OUTPUT: i=2, k=6
pqrsrqp in reverse
INPUT: mmpqssss
OUTPUT: i=5, k=3
Я подумал о том, чтобы поместить строку и ее реверс в 2 разных массива и сравнить символ за символом. Но я уверен, что это не лучший способ сделать это. Любые предложения относительно того, что может быть наиболее эффективным?