406. Queue Reconstruction by Height(根据身高重建队列)中等难度

从零开始:HLW8110电能计量IC的硬件设计与软件调试全攻略 本文详细介绍了HLW8110电能计量IC的硬件设计与软件调试全流程,涵盖核心特性、抗干扰设计、UART通信协议及校准方法。通过实战案例和优化技巧,帮助工程师快速掌握高精度交流测量技术,适用于智能插座、充电桩等应用场景。 阅读详情

假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。

注意:
总人数少于1100人。

示例

输入:
[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]

输出:
[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]

这道题我思考了很多方法,包括说一个一个地排序(选择排序),但是有个很大的问题就是这种排序出来的只有第一个是符合要求要求的,后面的很有可能不符合要求。

所以我看了AC之后才想到一种比较方便的方法:首先是先排序,从大到小,并且数相等的情况下K值大的排后边。为什么?因为考虑到K值,所以从大到小排序的话,最大的数的K值的位置就因该是他们所处的位置。

然后在这个数组里面进行二次排序,排序的依据他们的K值,比如K=0,那么就朝首位插入。

class Solution {
public:
 bool paixu (pair<int, int> a , pair<int, int> b){
        if(a.first == b.first ) return a.second < b.second ;
        return a.first > b.first ;
    }
    vector<pair<int, int>> reconstructQueue(vector<pair<int, int>>& people) {
        sort(people.begin(),people.end(),paixu);
        });//还是排序,先按照他们的高度从高到低(因为我后面用的从前往后遍历插入,当然也可以从低到高)排序,如果高度一样,那么按照k值从小到大排序。
/*sort函数的第二种写法:
 sort(people.begin(),people.end(),[](const pair<int,int> &a,const pair<int,int> &b){//第三个参数是它的方法处理
            return a.first > b.first || (a.first == b.first && a.second < b.second);
        });
*/
        vector<pair<int, int>> res(people.size());
        for(int i = 0;i < people.size();i++)
        {
            ////此时前面的人一定都比后面的高所以他们的k就是他们应该在的位置
            res.insert(res.begin()+people[i].second , people[i]);
        }
        res.resize(people.size());  //设置大小(size); 
        return res;
    }
};

 

从M.2到E1.S,从U.2到E3.S:数据中心SSD接口的世代更迭与选择逻辑 本文深入探讨了数据中心SSD接口从M.2、U.2到E1.S、E3.S的演进历程与选型逻辑。通过对比分析不同接口的物理规格、性能表现和散热设计,揭示了EDSFF接口在数据中心环境中的优势,包括更高的部署密度、更好的散热效能和更强的扩展能力。文章还提供了针对不同应用场景的SSD选型建议,帮助IT决策者优化存储架构。 阅读详情

相关推荐

稀疏数据分析:马蹄估计量及其理论性质

稀疏数据分析:马蹄估计量及其理论性质基本框架half-Cauchy分布为什么它叫马蹄估计量后验均值、shrinkage与κ\kappaκθ\thetaθ的边缘先验分布的阶马蹄估计的一致性收敛速率Clarke-Barron(1990)引理马蹄估计的最优收敛速率 这是对The horseshoe estimator for sparse signal这篇论文的回顾,这篇论文在Modern Bayesian statistics与Bayesian Machine Learning领域比较重要,它提出了一种新的先验

一个不愿透露姓名的博客 3797

java内部考试第四题

4.使用面向对象思想,编写Java程序。键盘接收用户输入的5位学生(Student)的姓名(name)和身高(height,单位是米),输出这些学生的平均身高。package com.lym.www;import java.util.Scanner;public class Shengao { public static void main(String[] args) {        Str...

Liyiming85的博客 2949

对极几何 —两相机相对位置关系与相机姿态估计方法(基础矩阵,本征矩阵,单应矩阵梳理)附c++源码

对极几何 —两相机相对位置关系与相机姿态估计方法(基础矩阵,本质矩阵,单应矩阵梳理)附c++源码对极几何是什么,它有什么用(整体流程理解)对极约束(描述两相机关系)基础矩阵特性与求解方法本质矩阵特性与求解方法相机姿态恢复方法怎么又冒出了个单应矩阵H? 对极几何是什么,它有什么用(整体流程理解) 如图,当空间上有一个点分别在相机1和相机2上进行成像,这两个点存在什么变换关系呢?再扩展一下,真实世界下的场景分别用两个相机进行拍摄,获得两张照片,两张照片有什么变换关系呢?那么对极几何就是用来描述这种变换关系的。

qq_37764141的博客 5103

【leetcode】406. 根据身高重建队列

贪心算法

weixin_43166107的博客 995

TESSY创建单元测试或集成测试工程

我们以tessy5.1为例,给大家展示单元测试和集成测试工程的创建过程。

空气中的告白专栏 1682

MPU6050 加速度计和陀螺仪传感器与 Arduino 的接口

虽然该模型并不能准确代表现实世界中加速度计传感器的构建方式,但它通常有助于理解为什么加速度计的输出信号通常以 ±g 为单位指定,或者为什么加速度计在静止时在 z 轴上的读数为 1g,或者在不同方向上您可以期望得到什么样的加速度计读数。该模块的核心是低功耗、低成本的 6 轴运动跟踪芯片 MPU6050,它将 3 轴陀螺仪、3 轴加速度计和数字运动处理器 (DMP) 集成到一个 4mm x 4mm 的微型芯片中。小时候,科学博览会上的陀螺仪总是让我们感到惊讶,因为它们以奇怪的方式移动,甚至似乎违背了重力。

sxstj的博客 9932

leetcode 406. 根据身高重建队列-java题解

lamba表达式的自定义排序o1,o2中o1 - o2这样的默认是升序 也就是从小到大排序同时还要注意list.add(index,element)这种方法例子假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。

qq_41810415的博客 592

在ARM平台上使用Anbox和LXC进行ARM开发调试

在ARM平台上使用Anbox和LXC进行ARM开发调试是一种强大的工具组合。通过安装和配置Anbox和LXC,以及在LXC容器中运行ARM应用程序,开发人员可以方便地进行ARM开发和调试。LXC(Linux容器)是一种轻量级虚拟化技术,它提供了一种在单个主机上运行多个独立的Linux容器的方法。我们将讨论安装和配置Anbox和LXC,以及如何在容器中运行ARM应用程序。通过上述步骤,你现在可以在LXC容器中运行ARM应用程序,并使用Anbox在ARM平台上进行开发和调试。步骤2:启动LXC容器。

KwmGroovy的博客 734

C++ sort函数自定义比较函数的效率

本文用于记录实践中遇到的自定义比较函数效率问题,暂不涉及底层原理。——2022.03.01. leetcode question406,重建队列。 如果sort函数的比较函数这么写: sort(people.begin(), people.end(), [](const vector<int>& u, const vector<int>& v) { return u[0] < v[0] || (u[0] == v[0] &

qq_38860340的博客 1072

2小时用Trae搭建全功能CMS系统

在前文中,我们使用Trae从零搭建了一个用户文档站点,仅用不到2小时就实现了用户注册登录和文档的增删改查功能,且无需编写任何代码。本节我们将在此基础上,构建一个CMS后台管理系统,包含用户管理和文档管理两大功能模块。

2501_92019101的博客 540

养龙虾之_因特尔UHD/ULtra/Arc核显跑大模型_安装ollama_跑qwen3.5:0.8b/9b_使用copaw1.0.1测试_并配置copaw技能效果炸裂---AI大模型应用探索0019

摘要:本文探讨了利用Intel UHD770核显运行大语言模型的可能性。通过使用Intel发布的ipex-llm项目工具包,成功在核显上运行了Qwen3.5系列模型。测试发现0.8B小模型运行流畅(3-5秒响应),但智能程度有限;而9B大模型虽然效果更好,但响应时间长达2分钟,且GPU/CPU占用率不高。实验证明Intel核显确实可以运行LLM,但实际效果和性能表现仍有提升空间,特别是对大模型的支持尚不理想。

添柴程序猿的专栏 231

【Java | LeetCode 406.根据身高重建队列】题解 & 思路

假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序),根据身高重新构建队列。

茶色喵的博客 515

OCR技术解析:用Tesseract和PaddleOCR识别文本

OCR技术解析:用Tesseract和PaddleOCR识别文本 ,人工智能,计算机视觉,大模型,AI,光学字符识别(Optical Character Recognition,简称 OCR)是一项将图片、扫描件等文档中的文字信息转换为可编辑文本的技术。在数字化时代,OCR 技术广泛应用于文档处理、车牌识别、身份证识别、古籍数字化等领域,极大地提高了文字信息处理的效率。Tesseract 和 PaddleOCR 是两款极具代表性的 OCR 工具。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

Leetcode解题报告:406. Queue Reconstruction by Height

题意: Suppose you have a random list of people standing in a queue. Each person is described by a pair of integers (h, k), where h is the height of the person and k is the number of people in fro

wengyunpeng的博客 512

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

题解——Leetcode 406. Queue Reconstruction by Height 难度:Medium

Suppose you have a random list of people standing in a queue. Each person is described by a pair of integers (h, k), where h is the height of the person and k is the number of people in front of this

dxk3881345的博客 562

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

[leetcode] 406. Queue Reconstruction by Height

Suppose you have a random list of people standing in a queue. Each person is described by a pair of integers (h, k), where h is the height of the person and k is the number of people in front of t

TstsUgeg的博客 545

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

LeetCode#406 Queue Reconstruction by Height题解(C++版)

LeetCode#406 Queue Reconstruction by Height题解(C++版)

游笑天涯 811

Queue Reconstruction by Height

题目 Suppose you have a random list of people standing in a queue. Each person is described by a pair of integers (h, k), where h is the height of the person and k is the number of people in fr

gexlei的博客 452

406. Queue Reconstruction by Height

最后更新 二刷 15-Jan-2016 排座问题,记得以前是H难度的,现在改成M了。。 总结一句话,先按身高排,高的在前面;身高一样的情况下,K小的在前面。 BB半天说白了一句话,H大的在顶端,H一样的K小的在顶端。 根据这句话设立PQ的判断规则就行了。。 这样排的原因是因为出QUEUE的时候,后出的因为H小,不会影响前面的人。 而H一样的时候,虽然会影响前面同身高的,但是肯定K小的放前面,因为他...

weixin_30564785的博客 70

[LeetCode]406. Queue Reconstruction by Height 解题报告

Suppose you have a random list of people standing in a queue. Each person is described by a pair of integers (h, k), where h is the height of the person and k is the number of people in front of t

萌萌小七的专栏 507

Day29: 134. Gas Station, 135. Candy, 860. Lemonade Change, 406. Queue Reconstruction By Height

做题情况:这题之前做过,看了一下答案,还是蛮简单的。先处理从左到右的情况,再处理从右到左的情况,这样就能保证每一个胃口比两边孩子都大的孩子有更多的糖果。做题情况:好巧妙的解法,根本想不出来!把身高从大到小排序,然后直接按照身高顺位插入队列就行了,好厉害!但是我是用一个list来存储每种零钱的数量,其实只需要两个整数变量就行了。做题情况:没有思路,直接看了答案。贪心算法的题解都好巧妙啊,很难想到。题目难度:Medium。题目难度:Medium。

2401_83154344的博客 237

第六周(Greedy)

第六周(Greedy) 目录: 本周完成题目 主要过程思路 相关代码 感想与总结 一、本周完成题目 本周共完成2道题目,2道Medium。主要是针对于本周所学的贪心算法选择了一些题目进行练习。 具体完成题目及难度如下表: # Title Difficulty 55 Jump Game Medium 406 Queue R

lyc的博客 295

LeetCode第 406 题:根据身高重建队列(C++)

406. 根据身高重建队列 - 力扣(LeetCode) 看标签是贪心算法的思路,可是为啥贪心就合理呢?虽然是中等难度,可是想好久没想出为啥… 首先是先排序,按照第一个元素逆序,第二个元素正序,那么每一个元素之前的元素的个数,就是大于等于它的元素数量。个头高的人会忽略个头比它矮的人,只会在意个头大于等于它的人。 样例: [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]] 排序之后: [[7,0], [7,1], [6,1], [5,0], [5,2], [4,4]]

zj 950

406. 根据身高重建队列(力扣LeetCode)

排序完的people: [[7,0], [7,1], [6,1], [5,0], [5,2],[4,4]]因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。输入:people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]输入:people = [[6,0],[5,0],[4,0],[3,2],[2,2],[1,4]]插入[4,4]:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]

m0_73841621的博客 1389

Leetcode 406-根据身高重建队列

假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。 题解 题解转载自Trump 【排序预处理+贪心】 套路:一般这

Helene1996的博客 260

LeetCode 题解 | 406 号问题:根据身高重建队列

点击关注上方“五分钟学算法”,设为“置顶或星标”,第一时间送达干货。今天分享的题目来源于 LeetCode 第 406 号问题:根据身高重建队列。一、题目描述 假设有打乱顺序的一群人站...

程序员吴师兄的博客 1364
上一篇: 111. Minimum Depth of Binary Tree 二叉树的最小深度
下一篇: 如何让电脑共存JDK1.7 和JDK1.8
Viewz
博客等级 码龄9年 309粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值