110 最小路徑和

2021-08-31 21:44:07 字數 829 閱讀 3817

從物理學到計算機,再到硬體,再到人工智慧!

藍橋杯備賽 (lintcode上刷的第八題)

給定乙個只含非負整數的m*n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。

你在同一時間只能向下或者向右移動一步!

是乙個典型的最短路徑問題,思想都是一樣的。此次**參考了《程式設計師**面試指南 it名企演算法與資料結構題目最優解》這本書,所以是很優化的**。採用一維陣列記錄從起點到當前點的最短路徑。並且當行與列不相等時,選擇行數或者列數較少的建立陣列。具體見**,**注釋超級詳細!

package dp;

public class minpath110_1111

//行數與列數較大的那個為more

int more = math.max(arr.length, arr[0].length);

//行數與列數較小的那個為less

int less = math.min(arr.length, arr[0].length);

//行數是不是大於等於列數

boolean rowmore = more == arr.length;

//輔助陣列的長度僅為行數與列數中的最小值,help[i]表示從起點到該點的最短距離

int help = new int[less];

//賦初值

help[0] = arr[0][0];

for (int i = 1; i < less; i ++)

for (int i = 1; i < more; i ++)

} return help[less - 1];

}}

110 最小路徑和

原題 你在同一時間只能向下或者向右移動一步 標籤動態規劃 dp 思路 同數字三角形,建立動態規劃陣列dp m n dp i j 表示從左上角出發到達終點grid i j 的最小路徑和。狀態轉移方程 dp i j min dp i 1 j dp i j 1 grid i j 為計算方便,第一行和第一列...

lintcode練習 110 最小路徑和

給定乙個只含非負整數的m n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。你在同一時間只能向下或者向右移動一步 解題思路 1,3,5,7,9 5,2,8,5,1 4,4,7,2,3 3,6,6,1,1 2,8,5,0,4 1 假設上面為m n的網格,因為只能向下或者向右,所以第一行和第一列...

LintCode 110 最小路徑和

給定乙個只含非負整數的m n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。樣例 1 輸入 1,3,1 1,5,1 4,2,1 輸出 7 樣例解釋 路線為 1 3 1 1 1。樣例 2 輸入 1,3,2 輸出 6 解釋 路線是 1 3 2你在同一時間只能向下或者向右移動一步 public c...