Мне нужно найти самую длинную непалиндромную подстроку (строку, которая сама по себе не является палиндромом, независимо от того, является ли она какой-либо подстрокой) в строке за O (n ** 2) или меньше времени.
Я могу придумать простой алгоритм грубой силы, находя все возможные подстроки (O (n ** 2)), а затем для каждой такой подстроки проверяя, является ли это палиндромом (O (n)), принимая общую сложность до O ( n ** 3).
Существует O (n ** 2) вариантов определения самой длинной палиндромной подстроки и последовательности, но я не могу повторно использовать их, чтобы найти решение здесь.
Как мне сделать это за O (n ** 2) время?
O(n)
- person biziclop   schedule 11.04.2016