354.俄罗斯套娃信封问题
给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h)
出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。
请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。
说明:
不允许旋转信封。
示例:
输入: envelopes = [[5,4],[6,4],[6,7],[2,3]]
输出: 3
解释: 最多信封的个数为 3, 组合为: [2,3] => [5,4] => [6,7]。
class Solution {
public:
int maxEnvelopes(vector<pair<int, int>>& envelopes) {
int res = 0, n = envelopes.size();
vector<int> dp(n, 1);
sort(envelopes.begin(), envelopes.end());
for (int i = 0; i < n; ++i) {
for (int j = 0; j < i; ++j) {
if (envelopes[i].first > envelopes[j].first && envelopes[i].second > envelopes[j].second) {
dp[i] = max(dp[i], dp[j] + 1);
}
}
res = max(res, dp[i]);
}
return res;
}
};
354.俄罗斯套娃信封问题相关推荐
- 354. 俄罗斯套娃信封问题
354. 俄罗斯套娃信封问题 题目 一.思路 二.代码 总结 题目 给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度. ...
- LeetCode - 354 俄罗斯套娃信封问题
题目来源 354. 俄罗斯套娃信封问题 - 力扣(LeetCode) 题目描述 给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的 ...
- 354. 俄罗斯套娃信封问题(动态规划)
354. 俄罗斯套娃信封问题 问题描述 给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度. 当另一个信封的宽度和高度都 ...
- leetcode 354. 俄罗斯套娃信封问题(dp+二分)
给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现.当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样. 请计算最多能有多少个信封 ...
- LeetCode 354. 俄罗斯套娃信封问题(最长上升子序 DP/二分查找)
1. 题目 给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现. 当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样. 请计算最多 ...
- leetcode 354. 俄罗斯套娃信封问题(二维排序有关)
题目描述 给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现.当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样. 请计算最多能有 ...
- 354. 俄罗斯套娃信封问题(良心注释)
问题描述 给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度. 当另一个信封的宽度和高度都比这个信封大的时候,这个信封就 ...
- LeetCode 354 俄罗斯套娃信封问题
给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度. 当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另 ...
- 【动态规划-困难】354. 俄罗斯套娃信封问题
[题目] 给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度. 当另一个信封的宽度和高度都比这个信封大的时候,这个信封就 ...
- 力扣354——俄罗斯套娃信封问题(排序+动态规划)
思路 首先排序,后面一定不会存在比当前信封更大的信封. 对于严格大于,是具有传递性的,如果信封a比信封b大,则a比(所有b大于的信封)大,因此可以利用传递性进行动态规划. dp代表该信封能装下的最大数 ...
最新文章
- Linux进程突然挂死,当主进程突然死亡时,我该如何杀死linux spawnProcess?
- 机器学习-线性回归与梯度下降
- 微信新增“炸屎”功能,被好友玩坏了。。
- C# 大型对象堆学习总结
- rasp 系统_RASP攻防 —— RASP安全应用与局限性浅析
- HTML5调用redis,redis实现从数据库获取数据添加到html页面上
- border-image用法
- leetcode 86. 分隔链表(链表)
- win7系统任务管理器被禁用怎么解决
- mysql longblob_Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)
- 05.Qt设置背景图片
- php mvc 实现,php mvc的简单实现
- ios弧形进度条_iOS实现一个颜色渐变的弧形进度条
- struts2学习——拦截器
- virtualbox 中,虚拟机网络使用NAT方式时,其它机器对虚拟机的访问
- Gmail大改版,36岁的电子邮箱为何未像BBS一样消亡?
- android 顶部弹窗,android显示通知,并在任何应用程序顶部弹出
- 解决:联想电脑开机壁纸图片在哪可以找到?
- oracle入门之登录-创建用户
- 容斥原理之求区间中与某数互质的个数
热门文章
- 页面常见的布局方式(图解)
- oracle 创建表同时添加注释
- github的使用 sourceTree
- 使用基于轮询的SQL数据缓存依赖
- mysql truncate 日期_(LINQ to Entities)使用日期判断条件Truncate日期函数
- junit可执行但控制层无法执行_解决junit5无法使用gradle test运行测试
- 在php里怎么安装composer,怎么安装composer
- 计算机与未来的教育阅读答案,作文:计算机与未来的教育
- 不读取nan行_一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!
- 一维欧拉方程matlab代码,一维欧拉方程组的warming-beam差分求解