第三步: x减小(与上次相反), 到极限后切换到y; 第四步: y减小(与上次相反),到极限后切换到x; 如此循环往复)
实现思路就是, 设置一个x,y切换的变量, 变量只有0和1两种状态, 当一个到极限后...,切换到另一个, x和y也应该各自设置一个变量, 负责记录x和y上次的极限值是达到了最大值还是最小值!...确定极限值的 优化思路:
如果每次循环都计算x, y当前的极限值会很耗费性能, 不如让x和y直接越界,当越界的点不存在时,再回退一步,并按照"对方"上次的极限值(最大或最小),去确定"正确的转向方向(左或右...第一位控制x: 0为增加, 1为减小
第二位控制y: 0为增加, 1为减小
初始为:[0, 0]
"""
# 尝试移除坐标,成功则返回0,移除失败, 则返回1
def remove_atom(x_y_list...source_y += 1
# 判断x当前的状态,确定转向方向
# 如果x为零,说明下一步要增加了
if