Rotate matrix(翻转矩阵)

题目:
Given an image represented by an N x N matrix, where each pixel in the image is 4 bytes, write a method to rotate the image by 90 degrees. Can you do this in place?

来源:力扣(LeetCode)

法一:
新建一个矩阵,利用(i,j)->(n-j-1,i)替换。
时间复杂度:O(N2)
空间复杂度:O(N2)

法二:
对于每一个matrix[i][j],只需要套公式四次便可以将矩阵中的四个点全部翻转,所以如果矩阵是偶数,只需要对 n2/4个点进行四次翻转,
奇数则n2/4-1个点(中心不需要)。
时间复杂度:O(N2)
空间复杂度:O(1)

法三:
上下对称互换,matrix[i][j] = matrix[n-1-i][j];
再对称互换, matrix[i][j] = matrix[j][n-1-i];
得到了与法一相同的公式。
时间复杂度:O(N2)
空间复杂度:O(1)

你可能感兴趣的:(LeetCode,算法,Java,leetcode,算法)