原题地址 典型的地图寻路问题 如何计算当前位置最少需要多少体力呢?无非就是在向下走或向右走两个方案里做出选择罢了. 如果向下走,看看当前位置能提供多少体力(如果是恶魔就是负数,如果是草药就是正数),如果当前位置能够提供的体力比向下走所需要的最小体力还多,那么当前位置只需要1的体力就够了:否则,计算出额外需要多少体力. 如果向右走,同理. 设任意坐标(i, j)处最少需要health[i][j]的体力才能通关,则有如下递推公式: health[i][j] = min{ dungeon[i][j]…