• 原地翻转或旋转矩阵


    idx, halfLen := len(matrix)-1, len(matrix) / 2 // 记录最后一个元素的下标和边长的一半
    
    // 按对角线反转矩阵
    for i := range matrix {
        for j := 0; j < i; j++ {
            matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
        }
    }
    
    // 按竖中轴线反转矩阵
    for i := range matrix {
        for j := 0; j < halfLen; j++ {
            matrix[i][j], matrix[i][idx-j] = matrix[i][idx-j], matrix[i][j]
        }
    }
    
    // 按横中轴线反转矩阵
    for i := 0; i < helfLen; i++ {
        for j := range matrix[i] {
            matrix[idx-i][j], matrix[i][j] = matrix[i][j], matrix[idx-i][j]
        }
    }
    

      

    顺时针旋转90:先沿对角线反转矩阵,再沿竖中轴线反转矩阵;
    顺时针旋转180:先沿横中轴线反转矩阵,再沿竖中轴线反转矩阵;
    顺时针旋转270:先沿对角线反转矩阵,再沿横中轴线反转矩阵;

    作者:cheless-w
    链接:https://leetcode.cn/problems/rotate-image/solution/xuan-zhuan-90180270-by-cheless-w-5b8m/
    来源:力扣(LeetCode)

  • 相关阅读:
    如何将网站升级为HTTPS协议?
    hashmap:cr:csdn
    HashMap的底层原理 cr:csdn:zhangshixi
    servlet
    泛型,反射
    线程

    集合
    java基础题
    我的博客网址
  • 原文地址:https://www.cnblogs.com/mango1997/p/16467180.html
Copyright © 2020-2023  润新知