链接:https://www.nowcoder.com/questionTerminal/6d9d69e3898f45169a441632b325c7b4
来源:牛客网
算法:动态规划
用到概念:递增子序列
思想:
所有比m[i]小的数都可以作为倒数第二个数,在这些第二个数中,以哪个数结尾的递增子序列最大,就以那个数作为倒数第二个数 。以本身作为最后一个数,前面没有比它小的,则子序列为
首先计算每个数在最大递增子串中的位置
186 186 150 200 160 130 197 200 quene
1 1 1 2 2 1 3 4 递增计数
然后计算每个数在反向最大递减子串中的位置--->计算反向后每个数在最大递增子串中的位置
200 197 130 160 200 150 186 186 反向quene
1 1 1 2 3 2 3 3 递减计数
然后将每个数的递增计数和递减计数相加
186 186 150 200 160 130 197 200 qu