009.书籍叠放

书籍叠放

题目描述

书籍的长、宽都是整数对应(l、w),如果书 A 的长宽度都比 B 长宽大时,则允许将 B 排列放在 A 上面。
现在有一组规格的书籍,书籍叠放时要求书籍不能做旋转,请计算最多能有多少个规格书籍能叠放在一起。

输入描述

输入:books=[[20, 16], [15, 11], [10, 10], [9, 10]]

说明
总共有 4 本书籍,第一本长度为 20 宽度为 16,第二本长度为 15 宽度为 11,以此类推,最后一本书长度为 9 宽度为 10。

输出描述

输出:3

说明
最多 3 个规格的书籍可以叠放到一起。从下到上依次为:[20, 16]、[15, 11]、[10, 10]

示例 1

  • 输入

[[20, 16], [15, 11], [10, 10], [9, 10]]

  • 输出

3

说明
最多 3 个规格的书籍可以叠放到一起。从下到上依次为:[20, 16]、[15, 11]、[10, 10]

解题思路

动态规划,实质是求最长递增子序列,但本题有两个因素需要考虑,可以通过排序将长度置为有序ÿ

你可能感兴趣的:(算法,javascript,leetcode)