你被請來給一個要舉辦高爾夫比賽的樹林砍樹. 樹林由一個非負的二維數組表示, 在這個數組中: 數組
你被要求按照樹的高度從低向高砍掉全部的樹,每砍過一顆樹,樹的高度變爲1。 spa
你將從(0,0)點開始工做,你應該返回你砍完全部樹須要走的最小步數。 若是你沒法砍完全部的樹,返回 -1 。 二維數組
能夠保證的是,沒有兩棵樹的高度是相同的,而且至少有一顆樹須要你砍。 比賽
示例 1: 工作
輸入:
[
[1,2,3],
[0,0,4],
[7,6,5]
]
輸出: 6
示例 2:
輸入:
[
[1,2,3],
[0,0,0],
[7,6,5]
]
輸出: -1
示例 3:
輸入:
[
[2,3,4],
[0,0,5],
[8,7,6]
]
輸出: 6
解釋: (0,0) 位置的樹,你能夠直接砍去,不用算步數
提示: 矩陣大小不會超過 50x50 。