关于螺旋矩阵

2016-06-07 00:34:22 +08:00
 Balthild
刚刚在 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 了!!
4424 次点击
所在节点    数学
2 条回复
debiann
2016-06-07 00:50:59 +08:00
可以。比如你生成数字的函数是 g(l),你实际需要找的关系是如何通过 n.x.y 得到 l 。外面走完的一堆圈是等差数列,再加上中间走到一半的圈,蛮好写的关系。这个函数其实就是 g(l(n.x.y))这个样子
debiann
2016-06-07 00:58:17 +08:00
@debiann 最后那个 g(l(n.x.y))可能会引起混淆,写得不合适,忽略吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/283983

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX