矩阵旋转90度
给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。
矩阵旋转90度 由两个步骤组成:
1 矩阵转置
由“线性代数”知识可知:矩阵转置公式: matrix[i][j] = matrix[j][i]
2 交换列元素
假设一共有 len 列,第 column 列与第 len-column-1 列作交换。
class Solution {
public void rotate(int[][] matrix) {
//矩阵转置
trans(matrix);
//交换列
swapColumn(matrix);
}
private void trans(int[][] matrix){
int len = matrix.length;
int tmp;
for(int i = 0; i < len; i++){
for(int j = i; j < len; j++){
tmp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = tmp;
}
}
}
private void swapColumn(int[][] matrix){
int len = matrix.length;
int tmp;
for(int column =0; column < len/2; column++){
for(int row = 0; row < len; row++){
tmp = matrix[row][column];
matrix[row][column] = matrix[row][len-column-1];
matrix[row][len-column-1] = tmp;
}
}
}
}
leetcode 链接:https://leetcode-cn.com/problems/rotate-image/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!