Advertisement

解决腐烂橘子问题(LeetCode 994)(Python/BFS)

阅读量:
在这里插入图片描述

题解:
通过深入分析可知,本题需从四个方向展开遍历,由于新鲜🍊的感染过程呈现逐层扩散的特点,因此采用广度优先搜索算法进行求解。该算法的实现依赖于队列数据结构;

回顾广度优先搜索的原理:

以指定的起始节点为出发点,依次将所有相邻节点加入队列。在每次访问节点时,将其从队列中取出,并将该节点的所有相邻节点也加入队列。这一过程持续进行,直至队列中不再存在任何元素,此时算法完成执行。

广度优先搜索的伪代码如下:(参考:https://leetcode-cn.com/problems/rotting-oranges/solution/li-qing-si-lu-wei-shi-yao-yong-bfsyi-ji-ru-he-xie-/))

复制代码
    while queue 非空:
    	node = queue.pop()
    for node 的所有相邻结点 m:
        if m 未访问过:
            queue.push(m)
    
    
    AI写代码python
    
    运行

基本思路如下:

全部评论 (0)

还没有任何评论哟~