力扣48. 旋转图像

这篇具有很好参考价值的文章主要介绍了力扣48. 旋转图像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

几何翻转

  • 思路:
    • 顺时针旋转可以拆解成:
      • 先沿着水平中轴线进行翻转: m[i][j] -> m[n - 1 - i][j]
        • (x1 + x2) / 2 = (n - 1) / 2
        • x1 = (n - 1) - x2
        • y 轴不变
      • 沿着主对角线进行翻转: m[i][j] -> m[j][i]
class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        int size = matrix.size();
        // flip horizontal
        for (int i = 0; i < size / 2; ++i) {
            for (int j = 0; j < size; ++ j) {
                std::swap(matrix[i][j], matrix[size -1 - i][j]);
            }
        }

        // flip main diagonal
        for (int i = 0; i < size; ++i) {
            for (int j = 0; j < i; ++j) {
                std::swap(matrix[i][j], matrix[j][i]);
            }
        }
    }
};
  • 可以参考坐标变换的变换矩阵

文章来源地址https://www.toymoban.com/news/detail-782912.html

到了这里,关于力扣48. 旋转图像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LeetCode-48. 旋转图像【数组 数学 矩阵】

    给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[[7,4,1],[8,5,2],[9,6,3]] 示例 2: 输入:m

    2024年04月27日
    浏览(39)
  • 二刷LeetCode--48. 旋转图像(C++版本),数学题

    思路:主要是观察变化之后的数组和最开始的数组的区别,不难发现,先转置在左右镜像对称即可。需要注意的是转置和镜像对称中for变量的终止条件。

    2024年02月12日
    浏览(40)
  • LeetCode in Python 48. Rotate Image/Matrix (旋转图像/矩阵)

    旋转图像/矩阵的重点是寻找旋转前后对应位置的坐标关系。 示例: 图1 旋转图像/矩阵的输入输出示意图  代码:  解释: 1)外层循环控制需要转的大圈圈数,内层循环控制每一圈需要转的小圈圈数,大小圈数的解释见图2,例如n=4,需要循环n // 2 = 2大圈,其中黄色循环箭头

    2024年04月27日
    浏览(62)
  • LeetCode 热题 100(四):48. 旋转图像、240. 搜索二维矩阵 II、234. 回文链表

    题目要求:就是一个顺时针的旋转过程。  思路:观察矩阵,得出翻转前第i行的第J个元素  等于  翻转后倒数第i列的第J个元素,举例说明,第1行第2个元素为“2”,翻转后到了 倒数第1列的第2个元素。说白了只需要针对翻转前的第i行和翻转后的倒数第i列 代码: 题目要求

    2024年02月11日
    浏览(36)
  • *LEEDCODE 48旋转图像

    ↓ 下面的太麻烦了,再做的时候都忘了解法,懒得看~

    2024年02月06日
    浏览(35)
  • 48. 旋转图像

    给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在** 原地** 旋转图像,这意味着你需要直接修改输入的二维矩阵。 请不要 使用另一个矩阵来旋转图像。 示例 1: 示例 2: 提示: n == matrix.length == matrix[i].length 1 = n = 20 -1000 = matrix[i][j] = 1

    2024年02月15日
    浏览(42)
  • leetcode 力扣刷题 旋转矩阵(循环过程边界控制)

    下面的题目的主要考察点都是,二维数组从左上角开始顺时针(或者逆时针)按圈遍历数组的过程。顺时针按圈遍历的过程如下: 对于每一圈,分为四条边 ,循环遍历就好。这时,对于 四个角 的元素的处理,可以将四条边的遍历分为以下两种情况: 第一种:每条边都从对

    2024年02月12日
    浏览(48)
  • 力扣经典150题第三十六题:旋转图像

    本篇博客介绍了力扣经典150题中的第三十六题:旋转图像。题目要求将给定的 n × n 二维矩阵顺时针旋转90度,并要求在原地进行修改。 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[[7,4,1],[8

    2024年04月28日
    浏览(41)
  • Python Opencv实践 - 图像旋转

     

    2024年02月13日
    浏览(49)
  • [职场] 会计学专业学什么 #其他#知识分享#职场发展

    会计学专业学什么 会计学专业属于工商管理学科下的一个二级学科,本专业培养具备财务、管理、经济、法律等方面的知识和能力,具有分析和解决财务、金融问题的基本能力,能在企、事业单位及政府部门从事会计实务以及教学、科研方面工作的工商管理学科高级专门人才

    2024年02月20日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包