所有题目均有五种语言实现。C实现目录、C++ 实现目录、Python实现目录、Java实现目录、JavaScript实现目录
题目
给定一组书的长宽,并且只有当一本书的长宽同时小于另一本书的长宽时,两书才能叠放在一起,求该组书中最多能有多少本书叠放在一起。
[[20,16],[15,11],[10,10],[9,10]]
3
前三本可叠放在一起。
思路
1:注意审题,书A的长宽度都比B长宽大时,才能叠上去,也就是两个数字都比另外一个大才行。
2:那题目就比较好理解了,先按照长度、宽度对书籍进行排序(长度相同的,再按照宽度排序)。
3:动态规划,转移方程:dp[i] = max(dp[i], dp[j] + 1);
考点
1:动态规划
Code
import java.util.Scanner;
import java.util.*;
public class Main {
public static int max_machine=0;
p