博客
关于我
leetcode题解48-旋转图像
阅读量:790 次
发布时间:2023-01-31

本文共 568 字,大约阅读时间需要 1 分钟。

为了在原地对一个n×n的二维矩阵进行顺时针旋转90度,我们可以直接修改输入矩阵。顺时针旋转90度可以通过重新排列各行和各列来实现。这种方法的关键在于明确每个元素在旋转后的新位置,并高效地实现这个重新排列。

详细步骤:

  • 确定矩阵的大小:获取矩阵的行数和列数,n = matrix.length。
  • 遍历每个元素:使用双重循环遍历矩阵的每个元素。
  • 计算新位置:对于位置 (i, j),元素将移动到位置 (j, n - 1 - i)。
  • 交换元素位置:将来源位置的元素赋值到目标位置。
  • 代码实现:

    public class Solution {    public void rotate(int[][] matrix) {        int n = matrix.length;        for (int i = 0; i < n; i++) {            for (int j = 0; j < n; j++) {                int temp = matrix[i][j];                matrix[j][n - 1 - i] = temp;            }        }    }}

    这个方法确保了我们在原地旋转图像,没有使用额外的矩阵,从而高效地完成了旋转操作。

    转载地址:http://iegyk.baihongyu.com/

    你可能感兴趣的文章
    Link Prediction Based on Graph Neural Networks
    查看>>
    Link&Compile
    查看>>
    link.exe)用完了堆空间
    查看>>
    LinkedBlockingQueue比BlockingQueue吞吐量高的原因?
    查看>>
    LinkedBlockQueue 知根知底
    查看>>
    LinkedHashMap 源码解析
    查看>>
    LinkedIn工程经理眼中的数据世界格局
    查看>>
    LinkedList工作原理
    查看>>
    LinkedList源码分析--jdk1.8
    查看>>