|
| 1 | +<h2><a href="https://leetcode.com/problems/queue-reconstruction-by-height/">406. Queue Reconstruction by Height</a></h2><h3>Medium</h3><hr><div><p>You are given an array of people, <code>people</code>, which are the attributes of some people in a queue (not necessarily in order). Each <code>people[i] = [h<sub>i</sub>, k<sub>i</sub>]</code> represents the <code>i<sup>th</sup></code> person of height <code>h<sub>i</sub></code> with <strong>exactly</strong> <code>k<sub>i</sub></code> other people in front who have a height greater than or equal to <code>h<sub>i</sub></code>.</p> |
| 2 | + |
| 3 | +<p>Reconstruct and return <em>the queue that is represented by the input array </em><code>people</code>. The returned queue should be formatted as an array <code>queue</code>, where <code>queue[j] = [h<sub>j</sub>, k<sub>j</sub>]</code> is the attributes of the <code>j<sup>th</sup></code> person in the queue (<code>queue[0]</code> is the person at the front of the queue).</p> |
| 4 | + |
| 5 | +<p> </p> |
| 6 | +<p><strong>Example 1:</strong></p> |
| 7 | + |
| 8 | +<pre><strong>Input:</strong> people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]] |
| 9 | +<strong>Output:</strong> [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] |
| 10 | +<strong>Explanation:</strong> |
| 11 | +Person 0 has height 5 with no other people taller or the same height in front. |
| 12 | +Person 1 has height 7 with no other people taller or the same height in front. |
| 13 | +Person 2 has height 5 with two persons taller or the same height in front, which is person 0 and 1. |
| 14 | +Person 3 has height 6 with one person taller or the same height in front, which is person 1. |
| 15 | +Person 4 has height 4 with four people taller or the same height in front, which are people 0, 1, 2, and 3. |
| 16 | +Person 5 has height 7 with one person taller or the same height in front, which is person 1. |
| 17 | +Hence [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] is the reconstructed queue. |
| 18 | +</pre> |
| 19 | + |
| 20 | +<p><strong>Example 2:</strong></p> |
| 21 | + |
| 22 | +<pre><strong>Input:</strong> people = [[6,0],[5,0],[4,0],[3,2],[2,2],[1,4]] |
| 23 | +<strong>Output:</strong> [[4,0],[5,0],[2,2],[3,2],[1,4],[6,0]] |
| 24 | +</pre> |
| 25 | + |
| 26 | +<p> </p> |
| 27 | +<p><strong>Constraints:</strong></p> |
| 28 | + |
| 29 | +<ul> |
| 30 | + <li><code>1 <= people.length <= 2000</code></li> |
| 31 | + <li><code>0 <= h<sub>i</sub> <= 10<sup>6</sup></code></li> |
| 32 | + <li><code>0 <= k<sub>i</sub> < people.length</code></li> |
| 33 | + <li>It is guaranteed that the queue can be reconstructed.</li> |
| 34 | +</ul> |
| 35 | +</div> |
0 commit comments