Я работаю над проблемой, где мне нужно найти самую длинную подпоследовательность заданного массива, которая может образовать палиндром, удалив ровно один элемент. Решение необходимо реализовать рекурсивно.
Например:
Ввод: [1, 2, 3, 4]
Вывод: 1
Пояснение: каждое отдельное число считается палиндромом, поэтому самая длинная палиндромная подпоследовательность представляет собой всего один элемент.
Ввод: [2, 2, 3, 3, 5, 6, 3, 3]
Выход: 6
Пояснение: Последовательность [3, 3, 5, 6, 3, 3] может стать палиндромом, если удалить либо 5, либо 6. Это дает длину 6.
Я пытаюсь протестировать этот массив [1,2], и он возвращает 2 вместо 1 или [1,2,3,4,1] вместо этого возвращает 3 1.
public static int maxPossiblePalindrome(int[] arr) {
return maxPossiblePalHelper(arr, 0, arr.length - 1);
}
private static int maxPossiblePalHelper(int[] arr, int left, int right) {
if (left > right) {
return 0;
}
if (right - left
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-solution
Нахождение самой длинной почти палиндромной подпоследовательности (рекурсивное решение) ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Нахождение самой длинной почти палиндромной подпоследовательности (рекурсивное решение)
Anonymous » » в форуме JAVA - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-