Мне нужно решить эту проблему с помощью DP, и вот проблема: у нас есть массив, и мы хотим сделать восходящий подмассив с максимальным размером с двумя условиями:
- Мы можем просто пройтись по массиву один раз слева направо.
- We have just two valid moves to make this sub array :
- We can ignore the next element in array in the traverse
- Мы можем поместить следующий элемент в конец или начало массива, и этот массив должен быть в порядке возрастания.
например:
ввод: arr[ ] = {0 , 3 , 10 , 7 , 6 , 5 , 14}
вывод: 5
и вспомогательный массив {5 , 6, , 7 , 10 , 14}
Решение для этого случая: начните с 10, затем поставьте 7 слева, 6 и 5 слева, затем поставьте 14 справа от 10.
Это означает, что мы можем расширить массив по этим условиям слева и справа