首页 > 其他分享 >力扣-406-根据身高重建队列

力扣-406-根据身高重建队列

时间:2022-12-20 17:22:39浏览次数:42  
标签:const person people 队列 力扣 406 vector ans

第一眼觉得有一种逆向单调栈的既视感

看评论区举了一个很生动形象的例子,自己还是写不出来

vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
	vector<vector<int>> ans;
	sort(people.begin(), people.end(), [](const vector<int>& u, const vector<int>& v){
		return u[0] > v[0] || (u[0] == v[0] && u[1] < v[1]);
		});
	for (const vector<int>& person:people) 
		ans.insert(ans.begin() + person[1], person);
	
	return ans;
}

官解看完两个感觉:

  1. 重写sort函数的比较规则好厉害,用的似乎是lambda表达式
  2. vector居然还有insert()方法,真是bug

标签:const,person,people,队列,力扣,406,vector,ans
From: https://www.cnblogs.com/yaocy/p/16994706.html

相关文章

  • 力扣-739-每日温度
    返回一个数组,ans[i]表示相对于第i天的温度而言,下一个更高的温度出现在几天后如果没有就是0一开始接单粗暴地两层for循环遍历,不出意外地超时了后来又想到可以排序后比对......
  • 事件队列(宏任务、微任务)
    概念因为js是单线程执行,为了防止某个进程堵塞将后面的代码堵死,所以设置了一套规则。首先,js会将同步的代码放到一起,然后压入执行栈,然后将异步代码放入异步队列。异步队列又......
  • 阻塞队列
    在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天......
  • 力扣025 K组中的反向节点
    力扣025K组中的反向节点题目:给定链表的,一次反转列表的节点,并返回修改后的列表。head``kk`是一个正整数,小于或等于链表的长度。如果节点数不是节点的倍数,那么最终省略......
  • 双链表实现双端队列
    双链表实现双端队列双端队列是一个从两端都可以进行进队出队的队列。代码:/***使用双链表实现双端队列*双端队列也就是在队列的两端都可以进行出队列以及入队列......
  • 单链表与队列和栈
    单链表与队列和栈使用单链表实现队列队列是一个先进先出的数据结构,它包括进队、出队、获取队列大小等功能。代码:/***使用单链表实现队列*队列是一个先进先出的......
  • KBL406-ASEMI适配高端电源整流桥KBL406
    编辑:llKBL406-ASEMI适配高端电源整流桥KBL406型号:KBL406品牌:ASEMI封装:KBL-4特性:整流桥正向电流:4A反向耐压:600V恢复时间:>2000ns引脚数量:4芯片个数:4芯片尺寸:84MIL浪涌电流:120A......
  • KBL406-ASEMI适配高端电源整流桥KBL406
    编辑:llKBL406-ASEMI适配高端电源整流桥KBL406型号:KBL406品牌:ASEMI封装:KBL-4特性:整流桥正向电流:4A反向耐压:600V恢复时间:>2000ns引脚数量:4芯片个数:4芯片尺寸:84MIL......
  • 基础算法汇总之堆和优先队列
    一.简述这篇文章将介绍几种常见的队列,本文将重点介绍优先队列以及优先队列底层的二叉堆并且实现基础算法(go实现),最后还会介绍一样Java并发包中的四种最常用的队列,分析其源码......
  • [leetcode]第 1 天 栈与队列(简单)
    09用两个栈实现队列思路栈:先进后出要求:先进先出。在队尾加,从队首删假设有栈A栈B,添加时压入栈A,删除时将栈A元素出栈,压入栈B,实现倒序,进而实现从队首删classCQueue{......