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

JavaScriptでの正方行列の回転


n * n次の配列の配列(正方行列)を受け取るJavaScript関数を作成する必要があります。この関数は、配列を90度(時計回り)回転させる必要があります。条件は、(余分な配列を割り当てずに)これを適切に実行する必要があることです。

例-

入力配列が-

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

次に、回転した配列は次のようになります-

const output = [
   [7, 4, 1],
   [8, 5, 2],
   [9, 6, 3],
];

以下はコードです-

const arr = [
   [1, 2, 3],
   [4, 5, 6],
   [7, 8, 9]
];
const rotateArray = (arr = []) => {
   for (let rowIndex = 0; rowIndex < arr.length; rowIndex += 1) {
      for (let columnIndex = rowIndex + 1; columnIndex < arr.length;
      columnIndex += 1) {
         [
            arr[columnIndex][rowIndex],
            arr[rowIndex][columnIndex],
         ] = [
            arr[rowIndex][columnIndex],
            arr[columnIndex][rowIndex],
         ];
      }
   }
   for (let rowIndex = 0; rowIndex < arr.length; rowIndex += 1) {
      for (let columnIndex = 0; columnIndex < arr.length / 2;
      columnIndex += 1) {
         [
            arr[rowIndex][arr.length - columnIndex - 1],
            arr[rowIndex][columnIndex],
         ] = [
            arr[rowIndex][columnIndex],
            arr[rowIndex][arr.length - columnIndex - 1],
         ];
      }
   }
};
rotateArray(arr);
console.log(arr);

出力

以下はコンソールでの出力です-

[ [ 7, 4, 1 ], [ 8, 5, 2 ], [ 9, 6, 3 ] ]

  1. JavaScriptで2の平方根を取得するにはどうすればよいですか?

    2の平方根を取得するには、JavaScriptMathSQRT2プロパティを使用します。約1.414である2の平方根を返します。 例 次のコードを実行して、JavaScriptで2の平方根を取得することができます- <html>    <head>       <title>JavaScript Math SQRT2 Property</title>    </head>    <body>      

  2. JavascriptでのAVLローテーション

    バランスを取るために、AVLツリーは次の4種類のローテーションを実行できます- 左回転 右回転 左-右回転 左右回転 最初の2回転は1回転で、次の2回転は2回転です。不均衡な木を作るには、少なくとも高さ2の木が必要です。この単純な木で、それらを1つずつ理解しましょう。 左回転 ツリーが不均衡になった場合、ノードが右側のサブツリーの右側のサブツリーに挿入されると、左に1回回転します- この例では、ノード A ノードがAの右側のサブツリーの右側のサブツリーに挿入されると、バランスが崩れます。 Aを作成して左回転を行います Bの左側のサブツリー 。この回転はLL回転とも呼ばれま