【leetcode】力扣算法之旋转图像【难度中等】
2024-01-07 20:53:24
题目描述
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
用例
输入: matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出: [[7,4,1],[8,5,2],[9,6,3]]
输入: matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出: [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]
提示
- n == matrix.length == matrix[i].length
- 1 <= n <= 20
- -1000 <= matrix[i][j] <= 1000
代码示例
/**
* @param {number[][]} matrix
* @return {void} Do not return anything, modify matrix in-place instead.
*/
var rotate = function(matrix) {
const len=matrix.length;
const temp=[]
for(let i=0;i<len;i++){
temp.push([])
}
for(let i=0;i<len;i++){
let row=matrix[i];//当前行 换到最后一列 1 2 3
// 换到最后一列
for(let j=0;j<len;j++){
temp[j][len-i-1]=row[j];
}
}
for(let i=0;i<len;i++){
matrix[i]=temp[i];
}
};
执行情况:
tip:
其实该题的本质算是二维矩阵的转换,可以用草图尝试画出位置转换关系即可求解
文章来源:https://blog.csdn.net/qq_33183456/article/details/135443243
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!