当前位置: 首页 > 科技观察

今日算法:旋转矩阵

时间:2023-03-17 23:57:42 科技观察

给你一张由N×N矩阵表示的图像,其中每个像素的大小为4个字节。请设计一个算法将图像旋转90度。不占用额外的内存空间就可以做到吗?例1:给定matrix=[[1,2,3],[4,5,6],[7,8,9]],原位旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例2:给定矩阵=[[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]]思路:将对角线倒过来,然后倒序[[1,2,3]],[4,5,6],=>[7,8,9]][[1,4,7],[2,5,8],=>[3,6,9]][[7,4,1],[8,5,2],=>[9,6,3]]/***@param{number[][]}matrix*@return{void}不返回任何东西,修改matrixin-place。*/varrotate=function(matrix){constn=matrix.length;//对角线反转0,0n-1,n-1for(leti=0;i