LeetCode【48】旋转图像

题目:

思路:

第一种思路:使用额外二维矩阵,变化后的直接存入额外的矩阵,不符合题意

以示例2中,第3行,第1列的13为例,旋转后,变为了第1行,第2列

旋转90 后行的位置,变为:原列序号

旋转90 后列的位置,变为:n-原行的位置+1

第二种思路:使用翻转代替旋转

注:掌握技巧后,代码不易出错

代码:

java 复制代码
public void rotate(int[][] matrix) {

    int rows = matrix.length;
    int columns = matrix[0].length;

    // 先翻转行
    for (int i = 0; i < rows / 2; i++) {
        for (int j = 0; j < columns; j++) {
            int temp = matrix[rows - i - 1][j];
            matrix[rows - i - 1][j] = matrix[i][j];
            matrix[i][j] = temp;
        }
    }

    // 沿主对角线翻转
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < i; j++) {  // 这里要注意,如果每个元素都翻转,最后又转回来了,沿主对角线,一行一列,两行两列,三行三列,column <= rows 对角线不用换,column < row
            int temp = matrix[i][j];
            matrix[i][j] = matrix[j][i];
            matrix[j][i] = temp;
        }
    }

}
相关推荐
爱学大树锯2 分钟前
592 · 查找和替换模式
算法
爱学大树锯8 分钟前
775 · 回文对
算法
girl-072615 分钟前
2025.12.26代码分析
数据结构·算法
大罗辑15 分钟前
2026软考备考刷题:软件设计师经典100题(5)含详细解析
算法·软考·软件设计师·2026软考·软设备考
咕噜企业分发小米17 分钟前
阿里云Milvus支持哪些向量检索算法?
算法·机器学习·milvus
蒙奇D索大19 分钟前
【数据结构】排序算法精讲|折半插入排序全解:高效优化、性能对比、实战剖析
数据结构·学习·考研·算法·排序算法·改行学it
汽车仪器仪表相关领域23 分钟前
ZDT-III 通用电机测试系统
数据库·算法·单元测试·压力测试·可用性测试
前端小白在前进26 分钟前
力扣刷题:矩阵重叠
算法·leetcode·矩阵
东东的脑洞27 分钟前
【面试突击】Kafka 核心面试知识点
面试·职场和发展·kafka
啊阿狸不会拉杆33 分钟前
《数字图像处理》-实验1
图像处理·人工智能·算法·计算机视觉·数字图像处理