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

顺时针旋转矩阵

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;
    }
}
全部评论

相关推荐

zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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