Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでの高さによるキューの再構築


キューに立っている人のランダムなリストがあるとします。各人は整数のペア(h、k)で表されます。ここで、hは人の身長、kはこの人の前にいるh以上の身長を持つ人の数です。

キューを再構築するためのアルゴリズムを作成する必要があります。

−人数は1,100人未満です。

−入力キューが-

の場合
const arr = [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]];

その場合、出力キューは-

になります。
const output = [[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]];

このためのコードは-

になります
const arr = [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]];
const reconstructQueue = data => {
   const result = [];
   const sorter = (a, b) => {
      return b[0] - a[0] || a[1] - a[1];
   };
   data.sort(sorter);
   for (let i = 0; i < data.length; i++) {
      result.splice(data[i][1], 0, data[i]);
   };
   return result;
};
console.log(reconstructQueue(arr));

出力

そして、コンソールの出力は-

になります
[ [ 5, 0 ], [ 7, 0 ], [ 5, 2 ], [ 6, 1 ], [ 4, 4 ], [ 7, 1 ] ]

  1. JavaScript DataView()

    JavaScript DataViewを使用すると、低レベルのインターフェイスを提供することにより、バイナリArrayBufferで複数の数値タイプの読み取りと書き込みを行うことができます。 DataView()を使用せずにArrayBufferを直接操作することはできません。 以下は、JavaScriptDataViewを実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta na

  2. JavaScriptでのキューの実装

    以下は、JavaScriptでキューを実装するためのコードです。 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>