当前位置: 代码迷 >> 综合 >> lintcode 873 模拟松鼠(JavaScript)
  详细解决方案

lintcode 873 模拟松鼠(JavaScript)

热度:54   发布时间:2023-12-17 08:26:05.0

有一颗树,一只松鼠,和几个见过,位置由二维网络中的单元格表示。你的目标是找到最短距离,让松鼠收集所有的见过,并把它们一个一个地放在树下。松鼠每次只能携带一个坚果。可以在四个方向上移动——上、下、左、右,到相邻的单元格。距离用移动的次数表示。

所有给定的位置都不会重叠;

松鼠一次只能携带一个坚果;

给定的坚果位置没有顺序;

宽度和高度是正整数。3 <= 高度 * 宽度 <= 10,000。

给定的网格中至少包含一个坚果,但只有一棵树和一只松鼠。

例子:

输入:height=5, width=7, tree=[2,2], squirrel=[4,4], nuts=[[3,0],[2,5]]输出:12解释:网格规模5 * 7,树在(2,2),松鼠在(4,4),有两个坚果,分别在(3,0),(2,5)。
松鼠先去(2,5)拿坚果,放到树下,然后去拿(3,0)的坚果,放到树下。
总共走了:3 + 3 + 3 + 3 = 12 步。

思路:

首先,计算两点的距离,就是横纵坐标的差的绝对值的和。

const distance 
  相关解决方案