内螺旋算法问题
记录一下,在一次笔试环节中的内螺旋算法问题。
把数字按照下图规律去排列,设 1 的坐标是(0, 0), x 方向向右为正,y 方向 向下为正。例如: 2 的坐标是(1,0), 3 的坐标是(1,1), 7 的坐标为 (-1, -1)。 请实现函数: 输入是任意坐标(x,y), 输出所对应的数字。
思路一:
初始化二维数组,初始元素值是0;
从中间选择一个元素作为起点1,将选中的元素依次向右移动,向下移动,向左移动,向上移动;
每移动到一个新元素上,就把计数器的值赋给它;
如果元素无法进行第2
原创
2021-11-12 21:21:22 ·
991 阅读 ·
0 评论