当前位置:网站首页>406. Reconstruct the queue according to height
406. Reconstruct the queue according to height
2022-07-03 14:51:00 【Sauce bear】
Topic link
analysis : The title means that we should put an array people[i] = {h,k}, Put it in one place , And can guarantee , There is k individual h Greater than or equal to the current h Of .
First, let's talk about the variables that need to be used :
res[][]: A two-dimensional array used to record the final answer
vis[]: It is used to record whether the element has been placed in this position
count: It is used to record the number of previous ones greater than or equal to the current h The elements of
Then we can think the other way around , First find the smallest h, So the others h It must be bigger than now , Then we only need to consider the following k Just one position , in other words , Currently, this is placed in the k+1 Just one position .( And here for simplicity , I didn't consider having the same h)
Now let's consider the same h The situation of .
In fact, it's also very easy to consider .
We from res Of the 0 Start traversing , When count Less than k When , Then it means that we need to continue to traverse later , Because I haven't found the right place yet .
So when count Self increasing , in other words , When can I find a greater than or equal to the current h The location of ?
First of all : Traverse to the current location without being accessed , Because every time we need to take out people The smallest remaining , therefore , Those that have not been accessed must be placed behind the elements , So it must be greater than or equal to the current h Of , here count+1.
second : Traverse to the element equal to the current h, That is, there are the same h Existing situation , At this time, too count+1.
until People It's all there res that will do .
Then there are two more questions
Question 1 : It's how we find it every time h The smallest ?
Question two : And if the current remaining people The smallest of all h There are many. , Which one to choose ?
Question 1 :
We can people Put it in the small top pile , So every time you get h The smallest .
Question two :
If h identical , So we should choose k The smallest , because h identical ,k The smallest must be in front .
Code :
class Solution {
public int[][] reconstructQueue(int[][] people) {
// Small cap pile h Put the small one on it , h The same thing k Put the small one on it
Queue<int[]> queue = new PriorityQueue<>((i1,i2)->{
if(i1[0]!=i2[0]){
return i1[0]-i2[0];
}else{
return i1[1]-i2[1];
}
});
int n = people.length;
int[][] res = new int[n][2];
// Record whether this location has been visited
boolean[] vis = new boolean[n];
for(int i=0; i<n; i++){
queue.offer(people[i]);
}
while(!queue.isEmpty()){
int[] top = queue.poll();
int count=0;
int i=0;
while(i<n && count<top[1]){
// This location has not been visited perhaps This location has been visited , however h equal
if(!vis[i] || res[i][0]==top[0]){
count++;
}
i++;
}
while(vis[i]){
i++;
}
res[i] = top;
vis[i] = true;
}
return res;
}
}
边栏推荐
- Write a 2-minute countdown.
- Analysis of gene family characteristics - chromosome location analysis
- Zzuli:1045 numerical statistics
- retrofit
- Output student grades
- 表单文本框的使用(一) 选择文本
- 4-29——4.32
- Zhejiang University Edition "C language programming (4th Edition)" topic set reference ideas set
- 1017 a divided by B (20 points)
- Common shortcut keys in PCB
猜你喜欢
My QT learning path -- how qdatetimeedit is empty
4-29——4.32
[ue4] cascading shadow CSM
tonybot 人形機器人 紅外遙控玩法 0630
C language DUP function
Vs+qt application development, set software icon icon
Qt—绘制其他东西
ASTC texture compression (adaptive scalable texture compression)
C language to realize mine sweeping
[qingniaochangping campus of Peking University] in the Internet industry, which positions are more popular as they get older?
随机推荐
Joomla! CMS 3.0~3.4.6 RCE
Plane vector addition
[ue4] HISM large scale vegetation rendering solution
cpu飙升排查方法
Optical cat super account password and broadband account password acquisition
C language memory function
556. The next larger element III: simple construction simulation questions
Zzuli:1052 sum of sequence 4
How to color ordinary landscape photos, PS tutorial
Amazon, express, lazada, shopee, eBay, wish, Wal Mart, Alibaba international, meikeduo and other cross-border e-commerce platforms evaluate how Ziyang account can seize traffic by using products in th
Dllexport et dllimport
Pyqt interface production (login + jump page)
Tonybot Humanoïde Robot Infrared Remote play 0630
Tonybot humanoid robot starts for the first time 0630
C language DUP function
NOI OPENJUDGE 1.3(06)
Devaxpress: range selection control rangecontrol uses
Zzuli:1043 max
【7.3】146. LRU缓存机制
[ue4] material and shader permutation