贈り物の最大値:47のインタビューの質問

そして、最小経路(47インタビューの質問:ギフトの最大値)

タイトル説明

m×n個のグリッドの非負整数与えられ、下左から右へ、パスの最小数の合計ようにからのパスを見つけます。
注意:あなただけの1つのステップダウンまたは右に移動することができます。

例:
入力
[[1,3,1]、
[1,5,1]、
[4,2,1]]
出力:7の
説明:パス1→3→1→1→1の最小和からです。

アルゴリズム

次のように動的プログラミングは、状態遷移式は、
$ DP [I] [J] = MAX(DP [1-I]、[J]、DP [I] [J-1])+ NUM [I] [J] $

実現

1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
クラス   {公共のint minPathSum INT [] []グリッド) {場合(グリッド[ 0 ] .LENGTH == 0戻り0 ; INT、M = grid.length、N =グリッド[ 0 ] .LENGTH。INT [] [] DP =新しいINT [M] [N]。        DP [ 0 ] [ 0 ] =グリッド[ 0 ] [ 0 ]。 INT J = 1、J <N; J ++)            DP [ 0 ] [j]はDPを= [ 0 ] [J- 1






] +グリッド[ 0 ] [J]。以下のためにint型私= 1 ;私がm <; I ++)は 、DP [I] [ 0 ] DPを= [I- 1 ] [ 0 ] +グリッド[I] [ 0 ]。以下のためにint型 I = 1 {; iは<M iは++)のためにint型の J = 1 ; J <nであり、j ++){ DP [I] [J] = Math.min(DP [I- 1 ] [j]は、 DP [I]、[J- 1 ])+グリッド[I] [J]。 } } 戻り DP [M- 1 ] [N- 1 ]。 } }










オリジナル:大列  ギフトの最大値:47のインタビューの質問


おすすめ

転載: www.cnblogs.com/dajunjun/p/11641162.html