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

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

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.dtcms.com/a/333077.html

相关文章:

  • 【JavaEE】多线程 -- 线程安全
  • UI-TARS-Desktop 深度解析:下一代智能自动化桌面平台
  • Stagehand深度解析:从开源自动化工具到企业级RPA平台的演进之路
  • 神经网络 小土堆pytorch记录
  • nVidia Tesla P40使用anaconda本地重编译pytorch3d成功加载ComfyUI-3D-Pack
  • 基于多分类的工业异常声检测及应用
  • 微信小程序 拖拽签章
  • C语言基础00——基本补充(#define)
  • useEffect 和 useLayoutEffect 执行时机
  • 【补充】数据库中有关系统编码和校验规则的简述
  • 网络性能排查
  • MC0439符号统计
  • 【web自动化】-2- 浏览器的操作和元素交互
  • 基于vue、node.js、express的网络教学系统设计与实现/基于vue、node.js、express的在线学习系统设计与实现
  • Python实现水文水质预测:Numpy/Matplotlib/TensorFlow实战+神经网络/CNN/RNN/SVM对比+大型水库案例
  • 【.net core】【wetercloud】处理前端项目免登陆,且从前端项目跳转至系统内时的问题
  • 【学习嵌入式day-25-线程】
  • 2020 GPT3 原文 Language Models are Few-Shot Learners 精选注解
  • git推送远程仓库报错:Bad configuration option: \357\273\277include
  • Git报错 “fatal: unable to access CRYPT_E_REVOCATION_OFFLINE (0x80092013)“问题的解决方法
  • 【CV 目标检测】②R-CNN模型
  • C# 中的计时器:Stopwatch 用法解析
  • diffusers学习--stable diffusion的管线解析
  • 第五天~提取Arxml的模板信息
  • react项目性能优化的hook
  • UGUI源码剖析(9):布局的实现——LayoutGroup的算法与实践
  • java程序打包成exe,再打成安装包,没有jdk环境下可运行
  • 【完整源码+数据集+部署教程】孔洞检测系统源码和数据集:改进yolo11-RetBlock
  • 金刚石基植入体新突破!Adv. Funct. Mater. 报道首例增材制造固态摩擦电能量收集器
  • 【FastGTP✨】[01] 使用 FastGPT 搭建简易 AI 应用