題目連結:
題目意譯:
給定一個 n × n 大小的整數矩陣 matrix,回傳矩陣中所有「掉落路徑」當中總和最小值。
一個掉落路徑為從矩陣第一列任一元素開始,然後對於下一列選擇其正下方、左下或是右下的元素。更準確的說,位置 (row, col) 的下一個元素將會是 (row + 1, col - 1) 、 (row + 1, col) 或是 (row + 1, col + 1)。
限制:
n == matrix.length == matrix[i].length
1 ≦ n ≦ 100
-100 ≦ matrix[i][j] ≦ 100
範例測資:
範例 1:
輸入: matrix = [[2,1,3],[6,5,4],[7,8,9]]
輸出: 13
解釋: 如圖中,有兩條掉落路徑有最小的總和值。
範例 2:
輸入: matrix = [[-19,57],[-40,-5]]
輸出: -59
解釋: 總和最小的掉落路徑如圖中所示。
解題思維:
不過本題只能從 (row, col) 走到 (row + 1, col - 1) 、 (row + 1, col) 或是 (row + 1, col + 1) 這三個位置,但是該題可以走到下一列任何位置。且走到下一列的位置會有額外的成本,因此要從該題改過來本題把成本刪掉即可。最後從最後一列中取最小值即可。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。