我们先理解一下题目,他要求我们返回的是最小的体力消耗,这里的体力消耗于高度差的绝对值有关,越小越省体力,我们我们最后需要把所有的内容全部都连接一起。我们可以尝试用暴力方法求解。
我们依次遍历上下左右,每条路都求完,然后返回出最大的绝对值之差。
heights = []
r, c = len(heights), len(heights[0])
if r ==1 and c == 1:
return 0
#如果只有一个格子直接返回0
dp = [[float('inf')]*c for _ in range(r)]
#我们创建一个和图相等的二维列表,用于储存高度绝对值
res = float('inf')
moves = [[-1, 0], [1, 0], [0, -1], [0, 1]]
#准备好各个方向的走向
q = [[0, 0]]
#设定起点坐标
dp[0][0] = 0
#开始的时候为0
while T