原题出处:https://leetcode.cn/leetbook/read/top-interview-questions-easy/xnhhkv/
解法一:
public void rotate(int[][] matrix) {
int len = matrix.length;
for (int i = 0; i < len / 2; i++) {
for (int j = i; j < len - i - 1; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[len - j - 1][i];
matrix[len - j - 1][i] = matrix[len - i - 1][len - j - 1];
matrix[len - i - 1][len - j - 1] = matrix[j][len - i - 1];
matrix[j][len - i - 1] = temp;
}
}
}
思路:该题本人冥思苦想没做出来,最后通过copilot使用ai编程得到的一个算法,看了一下,知道了大概的思路,旋转图像,数组中的元素移动位置,然后下一个元素继续移动,移动的元素会形成一个闭环,那么我们只需要判断出一个图像中有多少个这样的闭环,我们就遍历多少次,每一个这样的闭环,因为有四面,所以每一个闭环中都只存在四个元素,移动这四个元素的位置即可。