leetcode 48. 旋转图像

2023.10.5

本题最直观的思路就是再new一个二维数组,然后将原数组的第i行j列赋值给新数组的j行n-i-1列即可。 java代码如下:

方法一:使用额外空间:

java 复制代码
class Solution {
    public void rotate(int[][] matrix) {
        int n = matrix.length;
        int[][] new_matrix = new int[n][n];
        for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
                new_matrix[j][n-i-1] = matrix[i][j];
            }
        }
        for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
                matrix[i][j] = new_matrix[i][j];            
        }
    }
}
}

方法二:原地修改

还可以原地修改,先将数组进行转置,再将数组每一行进行反转即可。java代码如下:

java 复制代码
class Solution {
    public void rotate(int[][] matrix) {
        //先转置
        int n = matrix.length;
        for(int i=0; i<n; i++){
            for(int j=i; j<n; j++){
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }
        //再将每一行反转
        for(int i=0; i<n; i++){
            for(int j=0; j<n/2; j++){
                int temp = matrix[i][j];
                matrix[i][j] = matrix[i][n-j-1];
                matrix[i][n-j-1] = temp;
            }
        }
    }
}
相关推荐
Tongzhi202613 分钟前
通芝科技无感考勤一体机:软硬一体,开箱即用
数据结构·数据库·科技·算法·均值算法·数据库开发
NGINX开源社区18 分钟前
NGINX Ingress Controller 5.5:安全性与性能提升,迁移更轻松
java·服务器·nginx
云烟成雨TD29 分钟前
Micrometer 系列【25】Spring Boot Actuator | Spring MVC、Spring WebFlux 指标
java·spring boot·micrometer
地平线开发者39 分钟前
BEVdet模型解析
算法·自动驾驶
liudashuang201743 分钟前
Kafka Producer 隐藏深坑:Sender 线程自阻塞(自死锁)导致 BufferExhaustedException 完整复盘
java·分布式·kafka·linq
风筱44 分钟前
Idea的CC GUI插件安装Claude Code SDK失败
java·ide·ai编程
m0_5270343344 分钟前
异步任务审核系统设计:消息队列、超时重试与失败补偿
java·大数据·开发语言
tudousisi2221 小时前
P2758 编辑距离 题解复盘
算法
xbgRS1 小时前
springBoot项目配置加载优先级
java·spring boot
李可以量化1 小时前
Tornado 从了解到精通(四)上:实战搭建 Web 应用与核心组件详解
算法