美文网首页算法
数组 旋转矩阵 leetcode59

数组 旋转矩阵 leetcode59

作者: 宗驴 | 来源:发表于2024-03-08 00:12 被阅读0次

需求:

给你一个正整数 n ,生成一个包含 1 到n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。

leetcode题目链接

示例 1:

输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

输入:n = 1输出:[[1]]

思路:

格局需求旋转特性,首先处理第一行,处理n处边界。在处理最右列,这是变为N-1,如果只处N-2,需处理边界条件。最下一行也可能是N-1或者N-2,思考到这处理边界条件的情况太多,大脑已处于崩溃状态......

根据图一可以总结出旋转N与权属的比例关系,c=n/2。如果在基数情况下,会多出中间一个元素,这个元素单独复制即可。

我们需要锁定范围尽量减小边界条件,使用左闭右开[ xxx , xxx )的原则 ,包含左边元素,不包含右边元素。如图二不包含本行/列最后一个元素,保证本圈内的处理范围一致,处理边界条件一致代码逻辑通用。

思维流程图 源码实现 测试结果

相关文章

  • Python旋转矩阵数组

    问题: 假设有一个3*3的二维数组,如下 现在,请你用最简单的方式顺时针翻转数组90°,使之成为如下 解法: 思路...

  • 基本变换矩阵

    1 平移变换 平移矩阵 T 平移后的新点 2 旋转矩阵 旋转矩阵用、、 分别表示 对一个绕任意轴旋转角度的旋转矩阵...

  • 矩阵(二维数组)旋转

    向左或向右旋转90度 基本思想是把它当作层,我们每次旋转一层。 假设我们有一个 4 x4 旋转后顺时针旋转 90 ...

  • [leetcode-数组]旋转矩阵

    旋转矩阵 题目 给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋...

  • 矩阵顺时针旋转90度

    n*n矩阵顺时针旋转90度 方法一:将二维数组顺时针旋转90度,就是将其转置后的数组的列进行前后交换(即第一列变为...

  • Houdini 克服恐惧之 | Matrix到底是个什么东西?

    Rotational Matrix | 旋转矩阵 不管是旋转矩阵还是移动矩阵,首先Matrix本质上只是一个矩阵...

  • 第四季 变换(二)

    0对于上篇旋转矩阵的扩充 如果我们有个旋转矩阵,旋转θ度,那矩阵如下 而如果我们旋转了 -θ度的话,由于三角函数 ...

  • 54.旋转矩阵

    给定一个矩阵,返回按照其顺时针旋转的数组。如: 思路:一共只有3类矩阵,m>n, m=n 和 m

  • 数组原地交换

    例1 旋转图像 例2 矩阵转置 将一个m*n的矩阵存储在一个一维数组中,原地实现矩阵的转置。分析:以一个4x2的矩...

  • 矩阵变换

    摘自:旋转变换(一)旋转矩阵 平移矩阵 tx表示:在x轴方向上平移距离ty表示:在y轴方向上的平移距离 旋转矩阵 ...

网友评论

    本文标题:数组 旋转矩阵 leetcode59

    本文链接:https://www.haomeiwen.com/subject/cchezdtx.html