题目要求我们在最短的时间内从左上角走到右下角,我们需要找到一个合理的路线,我们可以堆加bfs,在python中,我们可以用heapq这个包来模拟堆队列
heapq — 堆队列算法,这是官方文档的介绍。
堆队列是一个优先级队列,最小值永远在最前面,我们可以创建一个列表,里面由若干个元组,元组中分别是水位和坐标,堆会自动按照坐标排序,依次从左上角开始往下走,先走比较低的水位,同时,我们使用heappop也会弹出最小的值并且删除,利用heappush也会加入元素代码如下:
res = 0
n = len(grid)
heap = [(grid[0