力扣练习之旋转图像

我爱海鲸 2022-07-12 22:15:16 暂无标签

简介初级算法

原题出处: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编程得到的一个算法laughing,看了一下,知道了大概的思路,旋转图像,数组中的元素移动位置,然后下一个元素继续移动,移动的元素会形成一个闭环,那么我们只需要判断出一个图像中有多少个这样的闭环,我们就遍历多少次,每一个这样的闭环,因为有四面,所以每一个闭环中都只存在四个元素,移动这四个元素的位置即可。

你好:我的2025