美文网首页
给定一个 n × n 的二维矩阵表示一个图像, 将图像顺时针旋转

给定一个 n × n 的二维矩阵表示一个图像, 将图像顺时针旋转

作者: 小强不是蟑螂啊 | 来源:发表于2019-04-03 21:41 被阅读0次

题目:
给定一个 n × n 的二维矩阵表示一个图像。
将图像顺时针旋转 90 度。
说明:
你必须在
[原地]旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。
刚开始我大概看了下,就是把矩阵中第n列反序后作为n行,那这就很简单了,我是这么写的:

var rotate = function(arr) {
    var newArr = [];
    var len = arr.length;
    for(var i=0;i<len;i++){
        let colArr = [];
        for(var j=0;j<len;j++){
            colArr.push(arr[j][i]);
        }
        colArr.reverse();
        newArr[i] = colArr;
    }
    return newArr;
 };

最后返回的矩阵排序是正确的,不过最后去校验的时候发现是在原来的矩阵里调整,那也简单,我把久的矩阵的值改成和新矩阵相同就可以了:

var rotate = function(arr) {
  // 设置一个空数组
   var newArr = [];
   var len = arr.length;
   for(var i=0;i<len;i++){
       //在这里,j是遍历的,i是不变的,所以我用arr[j][i]可以取到矩阵每列的值
       let colArr = [];
       for(var j=0;j<len;j++){
           colArr.push(arr[j][i]);
       }
      //然后反序
       colArr.reverse();
     //最后放到新数组中
       newArr[i] = colArr;
   }
  //将新矩阵中的每个值赋给旧矩阵
   for(var m=0;m<len;m++){
       for(var n=0;n<len;n++){
           arr[m][n]=newArr[m][n]
       }
   }
   return arr
};

我这种解法只是发现了这个规律,如果不让用新矩阵作为桥梁,不知还会有那些解法

相关文章

  • LeedCode 旋转图像

    LeetCode 旋转图像 给定一个 *n *× n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 思路...

  • Swift 旋转图像 - LeetCode

    题目:旋转图像 描述: 给定一个 n × n 的二维矩阵表示一个图像。 将图像旋转 90 度(顺时针)。 注意: ...

  • LeetCode-48-旋转图像

    LeetCode-48-旋转图像 题目 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度...

  • LeetCodeDay06

    48. 旋转图像 描述 给定一个 n × n 的二维矩阵表示一个图像。 将图像旋转 90 度(顺时针)。 注意 你...

  • 48. 旋转图像

    【Description】 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: ...

  • LeetCode-48-旋转图像

    给定一个 *n *× n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这...

  • LeetCode 48. Rotate Image(旋转图像 j

    给定一个 *n *× n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这...

  • 2019-09-08 旋转图像

    给定一个 *n *× n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这...

  • 矩阵旋转

    题目:给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,...

  • LeetCode初级-旋转图像

    题目: 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像...

网友评论

      本文标题:给定一个 n × n 的二维矩阵表示一个图像, 将图像顺时针旋转

      本文链接:https://www.haomeiwen.com/subject/oxmtiqtx.html