題目連結(jié):
題目意譯:
你被給定一個大小為 m × n 且索引值從 0 開始數(shù)的二維矩陣 grid,其中 (r, c) 代表著:
如果 grid[r][c] = 0,則其為一塊陸地格子;
如果 grid[r][c] > 0,則其為一塊水源格子並包含著 grid[r][c] 條魚。
一位漁夫可以開始於任意一個水源格子 (r, c) 並且可以做以下操作任意次:
把位於格子 (r, c) 中所有魚抓走;或
移動到任意一個相鄰的水源格子。
回傳該漁夫在以最佳方式選定初始格子的情況下,可以抓到的最大魚數(shù)。如果水源格子不存在,則回傳 0。
格子 (r, c) 的一個相鄰格子為 (r, c + 1) 、 (r, c - 1) 、 (r + 1, c) 或 (r - 1, c) 這四個格子其中一個(如果存在的話)。
限制:
m == grid.length
n == grid[i].length
1 ≦ m, n ≦ 10
0 ≦ grid[i][j] ≦ 10
範例測資:
範例 1:
輸入: grid = [[0,2,1,0],[4,0,0,3],[1,0,0,4],[0,3,2,0]]
輸出: 7
解釋: 漁夫可以開始於格子 (1,3) 並抓到 3 條魚,接著移動到格子 (2,3) 來抓到 4 條魚。
範例 2:
輸入: grid = [[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]]
輸出: 1
解釋: 漁夫可以開始於格子 (0,0) 或 (3,3) 來抓到一條魚。
解題思維:
基本上就是
這種題目,不過現(xiàn)在不是要算相連格子數(shù)而是相連格子中的「數(shù)字」總和。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。