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;
}
}
技巧点:对于矩阵旋转的题应该考虑通过翻转、转置、对称等方式。可以绕过复杂的寻找对应位置的计算。
下一篇: 前端学习-如何在title中添加图片
推荐阅读
-
#leetcode刷题之路33-搜索旋转排序数组
-
LeetCode 面试题56 - I. 数组中数字出现的次数
-
LeetCode 33. 搜索旋转排序数组
-
[[C语言][面试题][笔试题]二维数组中的查找,杨氏矩阵
-
【LeetCode-153】153.寻找旋转排序数组中的最小值
-
LeetCode使用Python实现旋转数组
-
LeetCode240. 搜索二维矩阵 II (面试题4:二维数组中的查找)
-
leetcode 刷题记录(高频算法面试题汇总)--两个数组的交集 i & ii
-
LeetCode 精选 TOP 面试题(Java 实现)—— 搜索二维矩阵 II
-
【LeeCode矩阵】面试题 01.07. 旋转矩阵