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

【代码随想录day 29】 力扣 406.根据身高重建队列

视频讲解:https://www.bilibili.com/video/BV1EA411675Y/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0406.%E6%A0%B9%E6%8D%AE%E8%BA%AB%E9%AB%98%E9%87%8D%E5%BB%BA%E9%98%9F%E5%88%97.html#%E6%80%9D%E8%B7%AF
力扣题目:https://leetcode.cn/problems/queue-reconstruction-by-height/

如果正向排序的话,需要考虑h的大小关系以及位次关系,但是如果倒着看的话,先将队列按从大到小的顺序排序,如果h相等,优先排k小的数组,这样就可以保证前面的数稳定大于后面的书,这时我们考虑k的大小,将数组插入到合适的位置,比如[7,0][7,1][5,0]就可以插入到第一个位置,变为[5,0][7,0][7,1],从后往前插入不需要考虑前面的数组的k,比如[7,1]就不用考虑,因为后面的插入到前面也不会影响他的k,所以就可以使用这个方法

class Solution {
public:static bool cmp(const vector<int> &a, const vector<int> &b){//如果相等,k小的排在前面if(a[0] == b[0]){return a[1] < b[1];}//如果不相等,h大的排前面return a[0] > b[0];}vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {sort(people.begin(), people.end(),cmp);vector<vector<int>> que;for(int i = 0; i < people.size(); ++i){//获取插入位置int position = people[i][1];que.insert(que.begin() + position, people[i]);}return que;}
};
http://www.dtcms.com/a/427532.html

相关文章:

  • 上海网站建设报价单网站设计平台及开发工具
  • 2006 年真题配套词汇单词笔记(考研真相)
  • Ubuntu 24.04 安装搜狗输入法完整教程
  • 淘宝买cdk自己做网站游戏编程软件
  • 试用网站如何做免费自动交易软件app
  • Linux rsyslog 日志服务及日志转发实践
  • 静态网站flash怎么看网站的访问量
  • 体育如何做原创视频网站潮州seo网站推广
  • d40: vue杂项问题
  • WordPress 安全检查指南:让你的网站更稳定、更安全
  • 类似于wordpress的网站开放平台供稿人计划
  • Vue.js props mutating:反模式如何被视为一种良好实践。
  • 基于STM32与influxDB的电力监控系统-12
  • 学习html的网站网站备案一次就可以了吧
  • Linux兄弟线程唤醒和调度的实现
  • Process Hacker下载和安装教程(附安装包)
  • 坑梓网站建设方案公众号制作网页
  • 企业身份认证系统选型:Azure AD 与 Keycloak 功能详解
  • 云手机ARM架构都具有哪些挑战
  • 域名与网站amh wordpress伪静态设置
  • docker 安装 xxl-job 详解
  • 数字博物馆网站建设备案的时候需要网站吗
  • 数学-绝对值(二)
  • css三角形源码
  • 行业网站名录温州网站 公司
  • 资阳网站建设方案wordpress api 发贴
  • 做个网站要多久柚段子wordpress主题模板
  • 网站开发需要学什么语言腾讯广告代理商
  • 【完整源码+数据集+部署教程】鹿角图像分割系统: yolov8-seg-C2f-DCNV2-Dynamic
  • 人工智能发展史 — 物理学诺奖之 Hinton 玻尔兹曼机模型