给定N个人的身高和体重,然后叠罗汉。规则是:每个人踩在另一个人的肩膀上,上面人的身高和体重都要低于下面的人。实现一个方法计算N个人最多可以叠多少人。
例子:
输入(height, weight):(65, 100) (70, 150) (56, 90) (75, 190) (60, 95) (68, 110)
输出:6 (从上到下是:(56, 90) (60,95) (65,100) (68,110) (70,150) (75,190))
思路:
给定一组人的身高和体重,需按照特定规则叠罗汉,即上面的人身高和体重都小于下面的人。通过先按身高和体重排序,再求体重序列的最长递增子序列,将问题转化为经典的LIS问题,从而解决最多能叠多少人的疑问。例如,给定数据可堆叠6人。
给定N个人的身高和体重,然后叠罗汉。规则是:每个人踩在另一个人的肩膀上,上面人的身高和体重都要低于下面的人。实现一个方法计算N个人最多可以叠多少人。
例子:
输入(height, weight):(65, 100) (70, 150) (56, 90) (75, 190) (60, 95) (68, 110)
输出:6 (从上到下是:(56, 90) (60,95) (65,100) (68,110) (70,150) (75,190))
思路:

被折叠的 条评论
为什么被折叠?