47.创新工场(算法):
求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,
4,3,2}
思路:动态规划
从最后一个数字开始,计算以当前数字其实的序列的最长递减子序列。 每次找最长子序列,都扫描它之前求得的子序列中最长,且第一个数字比当前数字小的。
如: 第一个数字 2, 最大长度 1, 下一个数字是 第 7 个
第二个数字 3, 最大长度 2, 下一个数字是 第 7 个
第三个数字 4, 最大长度 3, 下一个数字是 第 6 个
第四个数字 5, 最大长度 4, 下一个数字是 第 5 个
第五个数字 2, 最大长度 1, 下一个数字是 第 3 个
第六个数字 3, 最大长度 2, 下一个数字是 第 3 个
第七个数字 4, 最大长度 3, 下一个数字是 第 2 个
第八个数字 9, 最大长度 5, 下一个数字是 第 4 个
这样就可以找到最大长度,并根据存储的下一个数字找到最长递减序列。
/*47.创新工场(算法):
求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,
4,3,2