我正在解决“原地旋转NxN矩阵”的问题。
我的代码似乎进行了旋转,但在图像上留下了一个X。
所以我猜测它错误地旋转了边缘。我附加了两个图像作为示例输入和输出。
请问我的代码哪里有问题:
我的代码似乎进行了旋转,但在图像上留下了一个X。
所以我猜测它错误地旋转了边缘。我附加了两个图像作为示例输入和输出。
请问我的代码哪里有问题:
public static void rotateRight(float[][] img){
for (int i=0; i<N/2; i++){
for (int j=i; j<N-i; j++){
int J_COMP = N-j-1; //complement of J
int LEFT = i;
int RIGHT = N-i-1;
int TOP = i;
int BOTTOM = N-i-1;
float temp = img[J_COMP][LEFT];
img[J_COMP][LEFT] = img[BOTTOM][J_COMP];
img[BOTTOM][J_COMP] = img[j][RIGHT];
img[j][RIGHT] = img[TOP][j];
img[TOP][j] = temp;
}
}
}