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

leetcode 3510

3510: 移除最小数对使数组有序Ⅱ

题干同 leetcode 3507

区别:(数据规模增大)

  • 1 <= nums.length <= 50 (3507)
  • -1000 <= nums[i] <= 1000
  • 1 <= nums.length <= 105 (3510)
  • -109 <= nums[i] <= 109

暴力模拟方法仅针对小数据范围,用于本题会超时。

思路:懒删除堆+数组模拟双向链表(详解见leetcode 3507)

class Solution { public: int minimumPairRemoval(vector<int>& nums) { int n=nums.size(); priority_queue<pair<long long,int>,vector<pair<long long,int>>,greater<>> pq; int dec=0; for(int i=0;i<n-1;i++){ int x=nums[i],y=nums[i+1]; if(x>y) dec++; pq.emplace(x+y,i); } vector<int> left(n+1),right(n); ranges::iota(left,-1); ranges::iota(right,1); vector<long long> a(nums.begin(),nums.end()); int ans=0; while(dec){ ans++; while(right[pq.top().second]>=n || pq.top().first!=a[pq.top().second]+a[right[pq.top().second]]){ pq.pop(); } auto[s,i]=pq.top(); pq.pop(); int nxt=right[i]; dec-=a[i]>a[nxt]; int pre=left[i]; if(pre>=0){ dec-=a[pre]>a[i]; dec+=a[pre]>s; pq.emplace(a[pre]+s,pre); } int nxt2=right[nxt]; if(nxt2<n){ dec-=a[nxt]>a[nxt2]; dec+=s>a[nxt2]; pq.emplace(s+a[nxt2],i); } a[i]=s; int l=left[nxt],r=right[nxt]; right[l]=r; left[r]=l; right[nxt]=n; } return ans; } };
http://www.jsqmd.com/news/290557/

相关文章:

  • 【心电信号ECG】基于支持向量机SVM心电图心搏检测与分类附Matlab复现含文献
  • Qwen3-TTS 简评:低延迟流式合成 + 指令可控的声音设计,适合做实时语音产品
  • AVERAGEIF函数完全指南:Excel单条件求平均的智慧
  • 数字人源码部署厂家排名
  • 基于SpringBoot + Vue的农产品销售平台
  • 基于SpringBoot + Vue的校园志愿者管理系统
  • 钉钉A1与飞书AI录音豆
  • 从注册到收益 虚拟电厂解决方案全面落地
  • 学长亲荐8个AI论文平台,助你轻松搞定本科论文!
  • Java毕设选题推荐:基于springboot的高校食堂点餐系统基于SpringBoot+vue的校园点餐系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • demo
  • 数据结构:二叉排序树构建与遍历的解析与代码实现 - 教程
  • 解读大数据领域数据网格的关键技术点
  • 扫雷游戏c
  • Java计算机毕设之基于springboot的高校食堂点餐系统基于springboot框架的校园食堂外卖点餐系统(完整前后端代码+说明文档+LW,调试定制等)
  • 吐血推荐9个一键生成论文工具,自考本科毕业论文轻松搞定!
  • less 应用 OpenHarmony PC适配实践
  • 导师严选10个AI论文写作软件,专科生搞定毕业论文!
  • opencode.ai
  • Java计算机毕设之基于Java的歌唱演出网站订票系统基于SpringBoot的演唱会门票购票网站系统(完整前后端代码+说明文档+LW,调试定制等)
  • 【毕业设计】基于springboot的高校食堂点餐系统(源码+文档+远程调试,全bao定制等)
  • 【课程设计/毕业设计】基于Java+SpringBoot的演出购票系统基于springboot的演出网站订票系统【附源码、数据库、万字文档】
  • linux 安装 Nvidia 显卡驱动,配置 NVIDIA Container Toolkit
  • Django REST Framework (DRF) 认证与异常处理完全指南
  • ESP32-S3定义输出引脚+延时亮灭
  • 使用cppcheck对代码静态分析
  • Java毕设选题推荐:基于SpringBoot+vue的演唱会门票购票网站系统基于springboot的演出网站订票系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 01vue3学习-创建项目
  • Java毕设项目:基于springboot的演出网站订票系统(源码+文档,讲解、调试运行,定制等)
  • 【毕业设计】基于springboot的演出网站订票系统(源码+文档+远程调试,全bao定制等)