题解 | #顺时针旋转矩阵#

顺时针旋转矩阵

https://www.nowcoder.com/practice/2e95333fbdd4451395066957e24909cc

方法:倒置矩阵

通过以下三个图发现,顺时针旋转90度的矩阵按行翻转后和原矩阵是转置关系即关于主对角线对称,所以为了得到旋转90度后的结果,可以先将原矩阵做对角线对称,再做行对称即可。

import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param mat int整型二维数组 
     * @param n int整型 
     * @return int整型二维数组
     */
    public int[][] rotateMatrix (int[][] mat, int n) {
        int length = mat.length;
        //按对角线翻转
        for(int i=0;i<length;++i){
            for(int j=0;j<i;++j){
                int temp = mat[i][j];
                mat[i][j] = mat[j][i];
                mat[j][i] = temp;
            }
        }
        //各行翻转
        for(int i=0;i<length;i++){
            for(int j=0;j<length/2;j++){
                int temp = mat[i][j];
                mat[i][j] = mat[i][length-j-1];
                mat[i][length-j-1] = temp;
            }
        }
        return mat;
    }
}
全部评论

相关推荐

能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务