Balthild
V2EX  ›  数学

关于螺旋矩阵

  •  
  •   Balthild · Jun 7, 2016 via Android · 5314 views
    This topic created in 3630 days ago, the information mentioned may be changed or developed.
    刚刚在 Leetcode 上做了一下螺旋矩阵的题目,用的是模拟路径来变换 x y 坐标的办法。

    做完之后去网上找了一下别人的算法,发现也几乎都是这个思路(不过他们模拟路径用的方法比我高级多了)。

    然后我突然想到,如果给定一个矩阵边长 n ,生成的矩阵是确定的,那么在指定的坐标 (x, y) 处的数也一定是确定的,即 f(n, x, y) 是一个确定的函数。那有没有可能求出这个函数的代数表达式呢?

    PS: 给定边长 n ,从外向内顺时针生成 n * n 矩阵
    如给定 4 ,则生成
    1 2 3 4
    12 13 14 5
    11 16 15 6
    10 9 8 7

    怎么用不了 Markdown 了!!
    2 replies    2016-06-07 00:58:17 +08:00
    debiann
        1
    debiann  
       Jun 7, 2016 via iPhone
    可以。比如你生成数字的函数是 g(l),你实际需要找的关系是如何通过 n.x.y 得到 l 。外面走完的一堆圈是等差数列,再加上中间走到一半的圈,蛮好写的关系。这个函数其实就是 g(l(n.x.y))这个样子
    debiann
        2
    debiann  
       Jun 7, 2016 via iPhone
    @debiann 最后那个 g(l(n.x.y))可能会引起混淆,写得不合适,忽略吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3068 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:11 · PVG 17:11 · LAX 02:11 · JFK 05:11
    ♥ Do have faith in what you're doing.