Leetcode 48. 旋转图像

在这里插入图片描述

心路历程:

第一次需要这种类型的题。
一开始从双指针、递归、栈队的角度去思考问题,没有发现明显的特征。
后来想到这个算是二维数组问题,应该也是双指针的一种。
总感觉有什么妙招可以一下子解决,但是没想出来就去找的网上的答案,发现答案和自己想的朴实做法没什么区别,但是其对于‘循环不变量’的把握确实要清晰很多。
这道题考察的是对于二维数组索引变换的理解:
在这里插入图片描述
可以用坐标轴的角度理解这个二维数组的索引。

注意的点:

1、第一层循环下取整,因为奇数最里面一层不用操作
2、赋值start和end会容易操作许多

解法:

class Solution:
    def rotate(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        # 思路1:从最外层到最内层逐渐按照链的形式进行旋转90度? -> 是的,应该这样做
        # 思路2:矩阵转置再对称?-> 不让用额外数据结构
        # 这道题考察的是对于二维数组内部索引的理解,以及如何对二维数组元素进行坐标转换和操作。
        n = len(matrix)
        if n <= 1:
            return matrix
        
        for i in range(n // 2):
            start = i
            end = n - 1 - i
            for j in range(end - start):
                temp = matrix[start + j][end]
                matrix[start + j][end] = matrix[start][start + j]
                matrix[start][start + j] = matrix[end - j][start]
                matrix[end - j][start] = matrix[end][end - j]
                matrix[end][end - j] = temp

相关推荐

  1. leetcode48. 旋转图像

    2024-03-20 21:46:03       16 阅读
  2. leetcode48 旋转图像

    2024-03-20 21:46:03       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 21:46:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 21:46:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 21:46:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 21:46:03       18 阅读

热门阅读

  1. 学习编程照着别人的代码敲进去有效率吗?

    2024-03-20 21:46:03       23 阅读
  2. 9. 回文数

    2024-03-20 21:46:03       18 阅读
  3. Spring Data访问Elasticsearch----CDI集成

    2024-03-20 21:46:03       18 阅读
  4. 油烟净化器:餐饮店经营的重要保障

    2024-03-20 21:46:03       19 阅读
  5. 枚举算法总述

    2024-03-20 21:46:03       20 阅读
  6. 缓存知识回顾

    2024-03-20 21:46:03       22 阅读
  7. VUE el-button按下后连续触发

    2024-03-20 21:46:03       21 阅读
  8. Github 2024-03-19 开源项目日报 Top10

    2024-03-20 21:46:03       19 阅读
  9. SQL 练习一

    2024-03-20 21:46:03       19 阅读
  10. python 基础语法

    2024-03-20 21:46:03       18 阅读
  11. 如何添加 Android Native 系统服务

    2024-03-20 21:46:03       19 阅读