欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode数组:面试题 01.07. 旋转矩阵

程序员文章站 2022-06-04 12:31:36
...

出现问题,矩阵转置失效,代码如下:

for(int i=0;i<len-1;i++){
            for(int j=0;j<len;j++){
                if(i!=j){
                    temp=matrix[i][j];
                    matrix[i][j]=matrix[j][i];
                    matrix[j][i]=temp;
                }
            }
        }

分析原因:
想当然的认为矩阵转置只需互换行列位置,但是应该只对上或下三角矩阵进行列互换

for(int i=0;i<len-1;i++){
            for(int j=i+1;j<len;j++){
                temp=matrix[i][j];
                matrix[i][j]=matrix[j][i];
                matrix[j][i]=temp;
            }
        }

技巧点:对于矩阵旋转的题应该考虑通过翻转、转置、对称等方式。可以绕过复杂的寻找对应位置的计算。
leetcode数组:面试题 01.07. 旋转矩阵

相关标签: 刷题笔记 算法