DPエントリの例(1)

マッサージ師の問題

https://leetcode-cn.com/problems/the-masseuse-lcci/

(良好な状態遷移方程式を見つけます。) 

最終状態とのみ関連が今日は、まだ議論の分類です:

    今日の予約を受け付けていない:昨日か、予約を受け入れる、または最大値、すなわちほう最後に受け入れ予約、:DP [I] [0] = MAX( DP [I - 1] [0 ]、DP [I - 1] [1]);
    任命今日で:[i]の[DP:ちょうど今日、多くの場合、すなわちと相まってから転送され、昨日からの予定を、受け入れないのですか? 1] = DP [I - 1 ] [0] + NUMS [I]

1  パブリック クラスソリューション{
 2  
3。     公的 INTマッサージ(INT [] NUMS){
 4。         INT LEN = nums.length;
 5          IF(LEN == 0 ){
 6。             復帰 0 ;
 7          }
 。8          IFは(== lenの。1 ){
 。9              戻り NUMS [ 0 ];
 10          }
 11  
12である         // DP [I] [0]:区間[0、i]は予約要求に受け入れられ、そしてこの日に添え字iが予約最大持続時間受け付けない
 13          //DP [I] [1]:最大時間間隔[0、i]はの予約要求、およびその日の添字の受信に受け入れI予約
14          のint [] [] DP = 新しい新しい INT [LEN] [ 2 ];
 15          DP [ 0 ] [ 0 ] = 0 ;
 16          DP [ 0 ] [ 1。 NUMS [=] 0 ];
 17  
18である         ためINT I = 1 ; I <lenは、I ++ ){
 19              DP [I] [ 0 ] =数学.MAX(DP [I - 1 ] [ 0 ]、DP [I - 1 ] [ 1 ]);
 20             DP [I] [ 1 ] = DP [I - 1 ] [ 0 ] + NUMS [I]。
21          }
 22          リターン Math.max(DP [たlen - 1 ] [ 0 ]、DP [lenの- 1 ] [ 1 ])。
23      }
 24  
25      公共 静的 ボイドメイン(文字列[]引数){
 26          ソリューション溶液= 新しいソリューション()。
27          // INT [] NUMS = {1、2、3、1}。
28          // INT [] NUMS = {2、7、9、3、1}。
29          INT [] NUMS = { 21453113 }。
30          INT RES = solution.massage(NUMS)。
31          システム。アウト.println(RES);
32      }

 

 

 

 

 

 

 

 


著者:liweiwei1419
リンクします。https://leetcode-cn.com/problems/the-masseuse-lcci/solution/dong-tai-gui-hua-by-liweiwei1419-8/
出典:滞在ボタン(LeetCode)
著者によって予約の著作権。著者は認可商業転載してください接触、非商用の転載は、ソースを明記してください。

おすすめ

転載: www.cnblogs.com/zhmlzhml/p/12639643.html