圖論應用: 壞掉的橘子 Rotting Oranges_Leetcode #994_精選75題

2024/02/26閱讀時間約 7 分鐘

題目敘述

題目會給定一個二維陣列grid,代表每顆橘子分布的位置和初始狀態。

0: 這個格子點沒有東西。

1: 這個格子點有一顆新鮮的橘子。

2: 這個格子點有一顆壞掉的橘子。

壞掉的橘子上面的黴菌,
每隔一個週期,可以向上、下、左、右 N4四連通的格子點感染一次


請問,最少需要多少週期,可以感染所有的橘子?

如果無解,返回-1。


題目的原文敘述


測試範例

Example 1:

raw-image
Input: grid = [[2,1,1],[1,1,0],[0,1,1]]
Output: 4

Example 2:

Input: grid = [[2,1,1],[0,1,1],[1,0,1]]
Output: -1
Explanation: The orange in the bottom left corner (row 2, column 0) is never rotten, because rotting only happens 4-directionally.

Example 3:

Input: grid = [[0,2]]
Output: 0
Explanation: Since there are already no fresh oranges at minute 0, the answer is just 0.

約束條件

Constraints:

  • m == grid.length

m代表輸入陣列grid的高。

  • n == grid[i].length

n代表輸入陣列grid的寬。

  • 1 <= m, n <= 10

高和寬都介於1~10之間。

以行動支持創作者!付費即可解鎖
本篇內容共 3161 字、0 則留言,僅發佈於Leetcode 精選75題 上機考面試題 詳解你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
45會員
288內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
發表第一個留言支持創作者!