首页 > 试题广场 >

信封嵌套问题

[编程题]信封嵌套问题
  • 热度指数:4319 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给 n 个信封的长度和宽度。如果信封 a 的长和宽都小于信封 b ,那么信封 a 可以放到信封 b 里,请求出信封最多可以嵌套多少层。

数据范围:
要求:空间复杂度 ,时间复杂度
进阶:空间复杂度 ,时间复杂度
示例1

输入

[[3,4],[2,3],[4,5],[1,3],[2,2],[3,6],[1,2],[3,2],[2,4]]

输出

4

说明

从里到外分别是{1,2},{2,3},{3,4},{4,5}。       
示例2

输入

[[1,4],[4,1]]

输出

1

备注:
时间复杂度O(nlog n),空间复杂度O(n)。
头像 馒头2020
发表于 2021-03-25 15:57:29
题目描述 描述转载自力扣《354. 俄罗斯套娃信封问题》给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算 最多能 展开全文
头像 xqxls
发表于 2021-07-29 19:45:08
题意整理 给定n个信封。 将长和宽较大的信封套在长和宽较小的信封上(必须严格大于)。 方法一(动态规划) 1.解题思路 当信封长度从小到大排列的时候,我们只需要让对应的宽度也从小到大就能完成信封嵌套,而让宽度从小到大排列,可以转化为求宽度序列的最长递增子序列。但是如果信封长度相同,宽度如何处理呢 展开全文
头像 泪无声呢
发表于 2021-08-03 17:55:27
信封嵌套问题 问题描述:给n个信封的长度和宽度。如果信封A的长和宽都小于信封B,那么信封A可以放到信封B里,请求出信封最多可以嵌套多少层。 示例1 输入:[[3,4],[2,3],[4,5],[1,3],[2,2],[3,6],[1,2],[3,2],[2,4]] 返回值: 展开全文
头像 神游星宇
发表于 2021-10-22 23:25:35
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param letters int二维数组 * 展开全文
头像 牛客500979850号
发表于 2021-08-04 10:25:37
题意: 给 n 个信封的长度和宽度。如果信封 A 的长和宽都小于信封 B ,那么信封 A 可以放到信封 B 里,请求出信封最多可以嵌套多少层。 方法一:动态规划 如下方法二中的解题思路,不同之处是在于寻找dp中不小于letters[i][1]的最小值直接简单遍历寻找. class Soluti 展开全文
头像 猫头鹰的咖啡馆
发表于 2021-10-27 18:13:41
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param letters intvector<vector<>> 展开全文
头像 猫头鹰的咖啡馆
发表于 2021-10-20 11:51:50
class Solution { /* 1,将二维问题降道一维,最长递增子序列。 计算能有多少个信封组成俄罗斯套娃=计算宽度数组中最长递增子序列。 2,按照宽度递增排序,高度数组中最大递增子序列的长度就是能有多少个信封组成俄罗斯套娃。 3,宽度不同时,按照增序排列,宽度相同时,按照递减排列,防止[6 展开全文
头像 fred-coder
发表于 2022-02-16 10:17:29
dp 最大递增子序列问题。 先对 letters 进行排序 初始化 dp, dp[0] = 1 dp[i] = max(dp[j] + 1, dp[i]) j < i and letters[i][0] > letters[j][0] and letters[i][1] > le 展开全文
头像 mlpan
发表于 2021-04-21 09:11:32
dfs解法 信封先进行排序,先按照x排序,再按照y排序 一个信封只有选与不选两种情况 选的前提是当前的信封的宽和高大于上一次选取的信封的宽和高,嵌套信封数量加一 不选的话,宽和高保持不变,嵌套数量保持不变 import java.util.*; public class Solution { 展开全文
头像 棒棒糖🍭201906101800876
发表于 2021-07-28 13:04:57
NC153 信封嵌套问题 题意 给 个信封的长度和宽度。如果信封 的长和宽都小于信封 ,那么信封 可以放到信封 里,请求出信封最多可以嵌套多少层。 本题是魔改的最长递增子序列(LIS)问题,所以最长递增子序列的解法都适用于本题。 但是这题是二维的,如何降维? 我们可以这样思考,不管怎么套娃 展开全文