@ConradToWin

Какой алгоритм использовать для этой задачи?

У меня есть задача:
"Вдоль аллеи растут деревья. Деревья имеют разную высоту. Для создания ландшафтного дизайна принять решение часть деревьев спилить и оставить только деревья, которые возрастают по высоте. Зная кол-во деревьев и высоту каждого дерева, необходимо определить наибольшее кол-во деревьев, которые возможно оставить. Например, если вдоль аллеи растет 9 деревьев и их высота равна: 5 8 3 2 6 4 5 3 7, то оставить, соблюдая необходимое условие, возможно только 4 дерева (3 4 5 7 или 2 4 5 7)."
И алгоритм/решение желательно на Python
P.S. Прошу прощения за вопрос плана "Сделайте всё за меня". Уже битый час сижу, думаю, но не могу даже понять за что зацепиться. Спасибо за внимание_
  • Вопрос задан
  • 264 просмотра
Пригласить эксперта
Ответы на вопрос 2
longclaps
@longclaps
Час - это много времени. За час можно пробежать полумарафон. Я не смогу, но чемпионы так могут.
Так и с этой задачей. Ты думаешь, что своим паршивым часом купил индульгенцию на подсказку? Пожалуйста: тебе нужно найти возрастающую подпоследовательность наибольшей длины. Можешь, например, взять первое дерево и продолжать подпоследовательность вправо. А затем взять первое еще не задействованое в подпоследовательностях дерево и продолжать подпоследовательность в обе стороны от него. И так далее. Так ты найдёшь наидлиннейшую подпоследовательность. Но я бы тебе посоветовал бросить - ты слабак.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
13 дек. 2019, в 03:35
1000 руб./за проект
13 дек. 2019, в 01:31
1000 руб./за проект