首页 > 其他分享 >矩阵旋转(二维数组旋转)

矩阵旋转(二维数组旋转)

时间:2023-03-15 09:47:22浏览次数:30  
标签:arr matrix temp 矩阵 len 旋转 二维 var

 

给定一个 × n 的二维矩阵表示一个图像。

将图像旋转 90 度、180度、270度。

示例 1:

给定 matrix = 

[

  [1,2,3],

  [4,5,6],

  [7,8,9]

],

 

原地旋转输入矩阵,使其变为:

[

  [7,4,1],

  [8,5,2],

  [9,6,3]

]

示例 2:

给定 matrix =

[

  [ 5, 1, 9,11],

  [ 2, 4, 8,10],

  [13, 3, 6, 7],

  [15,14,12,16]

], 

 

原地旋转输入矩阵,使其变为:

[

  [15,13, 2, 5],

  [14, 3, 4, 1],

  [12, 6, 8, 9],

  [16, 7,10,11]

]

逆时针旋转90度

var rotate = function(matrix) {

//逆时针旋转 90 度

    //列 = 行

    //行 = n - 1 - 列(j);  n表示总行数

    var temp = [];

    var len = matrix.length;

    for(var i = 0; i < len; i++){

    for(var j = 0; j < len; j++){

    var k = len - 1 -j;

    if(!temp[k]){

    temp[k] = [];

    }

    temp[k][i] = matrix[i][j];

    }

    }

 

  return temp;

};

var arr = [

[1,2,3],

[4,5,6],

[7,8,9]

];

 

console.log(rotate(arr));

console.log(arr);

  

 

旋转 180 度

var rotate180 = function(matrix) {

//逆时针旋转 180 度

    //行 = h - 1 - 行(i);  h表示总行数

    //列 = n - 1 - 列(j);  n表示总列数

    var temp = [];

    var len = matrix.length;

    for(var i = 0; i < len; i++){

    for(var j = 0; j < len; j++){

    var k = len - 1 - i;

    if(!temp[k]){

    temp[k] = [];

    }

    temp[k][len-1-j] = matrix[i][j];

    }

    }

 

  return temp;

};

var arr = [

[1,2,3],

[4,5,6],

[7,8,9]

];

 

console.log(rotate(arr));

console.log(arr);

 

 

旋转270度

var rotate270 = function(matrix) {

//逆时针旋转 270 度

    //行 = 列

    //列 = n - 1 - 行(i);  n表示总列数

    var temp = [];

    var len = matrix.length;

    for(var i = 0; i < len; i++){

    for(var j = 0; j < len; j++){

    var k = len - 1 - i;

    if(!temp[j]){

    temp[j] = [];

    }

    temp[j][k] = matrix[i][j];

    }

    }

 

  return temp;

};

 

var arr = [

  [1,2,3],

  [4,5,6],

  [7,8,9]

];

 

console.log(rotate180(arr));

console.log(arr);

  

https://www.cnblogs.com/muamaker/p/9856221.html

标签:arr,matrix,temp,矩阵,len,旋转,二维,var
From: https://www.cnblogs.com/im18620660608/p/17217342.html

相关文章