贪心-根据身高重建队列
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。
请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。
示例 1:
输入:people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]] 输出:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 解释: 编号为 0 的人身高为 5 ,没有身高更高或者相同的人排在他前面。 编号为 1 的人身高为 7 ,没有身高更高或者相同的人排在他前面。 编号为 2 的人身高为 5 ,有 2 个身高更高或者相同的人排在他前面,即编号为 0 和 1 的人。 编号为 3 的人身高为 6 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。 编号为 4 的人身高为 4 ,有 4 个身高更高或者相同的人排在他前面,即编号为 0、1、2、3 的人。 编号为 5 的人身高为 7 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。 因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。
示例 2:
输入:people = [[6,0],[5,0],[4,0],[3,2],[2,2],[1,4]] 输出:[[4,0],[5,0],[2,2],[3,2],[1,4],[6,0]]
提示:
1 <= people.length <= 20000 <= hi <= 10^60 <= ki < people.length- 题目数据确保队列可以被重建
参考答案
#先按身高从高到低排序,相同身高按第二维度从小到大排序
class Solution:def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:n = len(people)people.sort(key=lambda x:(-x[0],x[1]))ans = [people[0]]for i in range(1,n):ans.insert(people[i][1],people[i])return ans
相关文章:
贪心-根据身高重建队列
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 peopl…...
「解析」牛客网-华为机考企业真题 21-40
又是一年春招时,有幸收到华为自动驾驶算法岗,之前刷题不多,在此汇总下牛客网的真题,主要采用Python编写,个人觉得语言只是实现工具而已,并不是很关键,Python简洁易懂,更加适合算法工…...
JAVA练习92-快乐数
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 提示:这里可以添加本文要记录的大概内容: 3月28日练习内容 提示:以下是本篇文章正文内容,下面案例可供参考 一、题目-…...
BPF 之路:技术背景
目录 引言 什么是BPF 历史 组成 执行机制 BPF 和ebpf 的关系 BCC、bpftrace、IO Visor BCC 项目的quick start execsnoop biolatency 动态插桩:kprobes和uprobes 概念 缺点 静态插桩:tracepoint 和USDT 概念 缺点 推荐的方案 初识bpft…...
C++—— set、map、multiset、multimap
目录 关联式容器 概念 键值对 树形关联式容器 set 介绍 定义方式 使用 map 介绍 使用 multiset 介绍 使用 multimap 介绍 使用 相关的OJ题 前K个高频单词 关联式容器 概念 我们之前接触过的一些容器,比如:vector、list、deque、forwa…...
Qlib使用
Qlib https://github.com/microsoft/qlib 将csv文件转化为Qlib的数据格式:https://qlib.readthedocs.io/en/latest/component/data.html#converting-csv-format-into-qlib-format 注意每支股票都要保存成单独一个文档,且文档名字与股票代号一致。 其中f…...
TL-WDR7660 httpProcDataSrv任意代码执行漏洞复现分析
01 漏洞简述 2023年1月31日,CNVD公开了一个由国内安全研究员提交的TL-WDR7660 httpProcDataSrv任意代码执行漏洞,编号为CNVD-2023-05404,同时公开了漏洞利用详情,poc代码链接为https://github.com/fishykz/TP-POC。从poc代码详情…...
基于DDS的SOA测试方案实现
随着以太网技术在车载网络中的应用,各种基于以太网的中间件也相继被应用在车内,如果对车载网络有过相关了解的小伙伴,对于作为中间件之一的DDS(数据分发服务Data Distribution Service)可能并不陌生;若没有…...
LibTorch中Windows系统环境配置及CUDA不可用问题解决
前言:本文对在Windows系统上进行LibTorch开发环境配置及相关问题解决做一个较为详细的记录,以便后续查询使用。 使用环境版本: Windows 11 Visual Studio 2022 CUDA 12.0 LibTorch 1.13.1_cu11.7 目录一、LibTorch简介二、LibTorch下载安装三…...
Java并发编程实战二
线程间的通讯方式 1.volitate(缓存一致性协议),synchronize,lock(都保证可见性) 2.wait.notify,await(),signal(前两个是Object,后两个属于lock) 3.管道输入、输出流 (示例代码:PipeInOut.java)(目前几乎没人使用) 管道输入/输…...
Linux中最基本的命令ls的用法有哪些?
Linux是一种流行的操作系统,被广泛应用于服务器和个人电脑。Linux命令行界面是使用Linux操作系统的关键。其中一个最基本的命令是"ls"命令,该命令用于列出指定目录中的所有文件和子目录。在这篇文章中,我们将探讨ls命令及其各种用途…...
第 100002(十万零二)个素数是多少?
题目描述 素数就是不能再进行等分的整数。比如7,11。而 9 不是素数,因为它可以平分为 3 等份。一般认为最小的素数是2,接着是 3,5,... 请问,第 100002(十万零二)个素数是多少? 请注意࿱…...
Lua迭代器
Lua迭代器 迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。 在 Lua 中迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。 泛型 f…...
同步与互斥之信号量
目录 1、信号量用于线程的互斥 验证 2、信号量用于线程的同步 验证 3、无名信号量用于进程间互斥 代码一 代码二 验证 4、有名信号量 用于进程间同步和互斥 验证 信号量广泛用于进程或线程间的同步和互斥,信号量本质上是一个非负的整数计数器,它…...
如何当个优秀的文档工程师?从 TC China 看技术文档工程师的自我修养
本文系 NebulaGraph Community Academic 技术文档工程师 Abby 的参会观感,讲述了她在中国技术传播大会分享的收获以及感悟。 据说,技术内容领域、传播领域的专家和决策者们会在中国技术传播大会「tcworld China 2022」大会上分享心得。作为一名技术文档工…...
如何学习k8s
学习Kubernetes可以遵循以下步骤: 了解Kubernetes的基本概念和架构。学习Kubernetes前,需要了解它的基本概念和组成部分,包括Pod、Service、ReplicaSet、Deployment、Namespace等等,同时也需要了解Kubernetes的整体架构和工作原理…...
【SSM】MyBatis(十.动态sql)
文章目录1.if2.where3.trim4.set5. choose when otherwise6.foreach6.1 批量删除6.2 批量增加7.sql1.if <select id"selectByMultiCondition" resultType"Car">select * from t_car where 1 1<if test"brand ! null and brand ! ">…...
最近很多人都在说 “前端已死”,讲讲我的看法
转自 : 掘金 作者 : Ethan_Zhou 现状 我记得去年脉脉的论调还都是 客户端已死,前后端还都是一片祥和,有秀工资的,有咨询客户端转前端的,怎么最近打开脉脉一看,风向变了? 随便刷几下,出来的信息…...
大家好,我是火旺技术
大家好,我是火旺技术 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用。这其中,家乡特色推荐的网络应用已经成为外国家乡推荐系统的一种很普遍的方式。不过,在国内,管理网站可能还处于起步阶段。 …...
【Java并发编程系列】全方位理解多线程几乎包含线程的所有操作哦
文章目录一、概述及目录二、实现多线程的方式2.1 继承Tread类,重写run方法。start方法2.2 实现Runnable方法,并实现run接口方法2.3 实现Callable接口重写call方法,Feature.get()获取返回值三、线程的执行流程3.1 执行流程3.2 start方法和 run…...
轻量级容器编排工具Herdctl:填补Docker Compose与K8s之间的空白
1. 项目概述:从容器到集群的轻量级管理工具如果你和我一样,长期在容器化和微服务架构的领域里摸爬滚打,那你一定对docker和docker-compose这两个名字再熟悉不过了。它们几乎是单体容器和多容器应用编排的“标准答案”。然而,当我们…...
SyntaxUI:基于Tailwind CSS与Framer Motion的React组件库实战指南
1. 项目概述:SyntaxUI,一个为现代Web开发者提速的组件库如果你和我一样,常年奋战在React、Next.js项目的一线,那你一定对“重复造轮子”这件事深恶痛绝。每次新项目启动,从零开始搭建按钮、卡片、模态框、导航栏&#…...
进化发育生物学启发AI新范式:基因调控、弱连接与局部变异选择
1. 项目概述:从生物进化到机器学习的范式迁移在人工智能领域,我们常常陷入一种“局部最优”的困境:模型越做越大,参数越来越多,但系统的根本“智慧”——比如持续学习新任务而不遗忘旧知识、灵活重组已有技能解决新问题…...
Tessera:内核级异构GPU分解技术解析与应用
1. Tessera:内核级异构GPU分解技术解析现代GPU数据中心正变得越来越异构化,不同型号的GPU在计算能力、内存带宽和成本效率上存在显著差异。这种异构性源于GPU发布周期与退役时间表的不匹配,以及高昂的成本和有限的供应。例如,Goog…...
嵌入式系统如何应对VR/AR的技术挑战:从硬件选型到系统优化
1. 虚拟现实与嵌入式系统的交汇点2016年,如果你在嵌入式系统开发圈子里,听到最多的词除了“物联网”,大概就是“虚拟现实”了。那一年,Oculus Rift消费者版正式发货,HTC Vive也刚刚上市,一股VR热潮席卷了科…...
VSCode + Cline + Codeium + OpenSpec + DeepSeek 完整配置指南
VSCode Cline Codeium OpenSpec DeepSeek 完整配置指南 📋 最终方案概述 组件用途费用VSCode代码编辑器免费Codeium (Windsurf)Tab 补全 生成注释免费ClineAI Agent(复杂任务、多文件操作)免费OpenSpec规范驱动开发(复杂功…...
Google Calendar智能安排深度拆解(Gemini原生集成技术白皮书级解析)
更多请点击: https://intelliparadigm.com 第一章:Gemini Google Calendar智能安排技术全景概览 Gemini 与 Google Calendar 的深度集成标志着日程管理进入语义理解驱动的新阶段。该能力并非简单调用 API,而是依托 Gemini 模型对自然语言指…...
LSLib:让《神界原罪》和《博德之门3》MOD制作变得高效完整的实用指南
LSLib:让《神界原罪》和《博德之门3》MOD制作变得高效完整的实用指南 【免费下载链接】lslib Tools for manipulating Divinity Original Sin and Baldurs Gate 3 files 项目地址: https://gitcode.com/gh_mirrors/ls/lslib 你是否曾想为《神界原罪》或《博德…...
别再只靠EWSA了!聊聊WPA密码破解的几种姿势与效率对比
WPA密码破解工具全维度评测:从EWSA到Hashcat的实战指南 在无线安全评估领域,WPA/WPA2密码破解始终是绕不开的技术课题。当安全研究员获得合法授权的握手包后,如何高效完成密码恢复任务?市面上既有EWSA这样的老牌图形化工具&#x…...
STM32F407上电后第一行代码:手把手带你读懂启动文件startup_stm32f407xx.s
STM32F407启动文件深度解析:从复位到main()的底层之旅 当你第一次打开STM32的MDK工程时,那个神秘的.s文件是否曾让你望而却步?作为连接硬件与C语言世界的桥梁,启动文件(startup_stm32f407xx.s)完成了从芯片…...
