当前位置: 首页 > ops >正文

俄罗斯信封套娃问题-二维最长递增子序列

354. 俄罗斯套娃信封问题 - 力扣(LeetCode)

Solution

对一个维度从小到大排序,然后对另外一个维度求最长上升子序列即可。

class Solution {
public:struct node {int w, h;node(int w, int h) {this->w = w;this->h = h;}};static bool cmp(node a, node b) {return a.w < b.w || (a.w == b.w && a.h > b.h);}int maxEnvelopes(vector<vector<int>>& envelopes) {int n = envelopes.size();int ans = 0;vector<node>nums1;// vector<node>nums2;for (vector<int>x : envelopes) {nums1.emplace_back(node(x[0], x[1]));// nums2.emplace_back(node(x[1], x[0]));}sort(nums1.begin(), nums1.end(), cmp);// sort(nums2.begin(), nums2.end(), cmp);// ans = max(lengthOfLIS(nums1), lengthOfLIS(nums2));ans=lengthOfLIS(nums1);return ans;}int lengthOfLIS(vector<node>& nums) {int n = nums.size();vector<int>ends;ends.push_back(nums[0].h);for (int i = 1; i < n; ++i) {int cur = nums[i].h;int index = bs(ends, cur);if (index == -1) {ends.push_back(cur);}else {ends[index] = cur;}}return ends.size();}int bs(vector<int>& nums, int v) {int l = 0, r = nums.size() - 1;int ans = -1;while (l <= r) {int mid = (l + r) >> 1;if (nums[mid] >= v) {ans = mid;r = mid - 1;}else {l = mid + 1;}}return ans;}
};

http://www.xdnf.cn/news/17843.html

相关文章:

  • BFS和codetop复习
  • 【Java Web 快速入门】十、AOP
  • 自动处理考勤表——如何使用Power Query,步步为营,一点点探索自定义函数
  • LeetCode Hot100:递归穿透值传递问题
  • 艾伦·图灵:计算理论与人工智能的奠基人
  • Java研学-SpringCloud(四)
  • Numerical Difference between vLLM logprobs and huggingface logprobs
  • 数据结构:N叉树 (N-ary Tree)
  • Web 开发 15
  • 4.2 寻址方式 (答案见原书 P341)
  • CIAIE 2025上海汽车内外饰展观察:从美学到功能的产业跃迁
  • Tokenizer(切词器)的不同实现算法
  • 《软件工程导论》实验报告四 详细设计工具
  • 打靶日常-sql注入(手工+sqlmap)
  • 嵌入式学习 day52 IMX6ULL裸机开发-I2C
  • 功能组和功能组状态的概念关系和区别
  • Cursor/VSCode/VS2017 搭建Cocos2d-x环境,并进行正常的调试和运行(简单明了)
  • Docker的相关知识探究详解
  • Linux驱动学习day28(USB驱动,libusb操作)
  • RabbitMQ核心架构与应用
  • DeepSeek-V2:一种强大、经济且高效的混合专家语言模型
  • 区块链技术原理(13)-以太坊燃料费Gas
  • 【数据结构初阶】--排序(三):冒泡排序、快速排序
  • 旋钮键盘项目---foc讲解(开环)
  • 基于WSL搭建Ubuntu 22.04.x LTS开发环境
  • 102、【OS】【Nuttx】【周边】文档构建渲染:安装 Esbonio 服务器
  • Codeforces 无路可走
  • Git代码版本管理
  • 一文打通 AI 知识脉络:大语言模型等关键内容详解
  • Python基础-数据结构