Самая длинная последовательность змей в массиве
Вопрос: Набор чисел, разделенных пробелом, передается в качестве входных данных. Программа должна напечатать наибольшую последовательность змей, присутствующую в числах. Последовательность змей состоит из смежных чисел, так что для каждого числа число справа или слева равно +1 или -1 от его значения. Если возможно несколько последовательностей змей максимальной длины, выведите последовательность змей в естественном порядке ввода.
Пример ввода / вывода 1:
Входные данные:
9 8 7 5 3 0 1 -2 -3 1 2
Выход:
3 2 1 0 1
Пример ввода / вывода 2:
Входные данные:
-5 -4 -3 -1 0 1 4 6 5 4 3 4 3 2 1 0 2 -3 9
Выход:
6 5 4 3 4 3 2 1 0 -1 0 1 2
Пример ввода / вывода 3:
Входные данные:
5 6 7 9 8 8
Выход:
5 6 7 8 9 8
Я искал в Интернете и нашел только ссылки, чтобы найти последовательность змей, когда дана сетка чисел, а не массив.
Мое решение до сих пор:
Создайте 2D-массив, содержащий все числа из входных данных как 1-е значение, а 2-е значение - последовательность максимальной длины, которую можно сгенерировать, начиная с этого номера. Но это не всегда генерирует последовательность максимальной длины и не работает вообще, когда есть 2 змеи максимальной длины.