안마사 문제
https://leetcode-cn.com/problems/the-masseuse-lcci/
(양호한 상태 전이 방정식 찾기)
: 마지막 상태에만 해당 오늘, 아직도 토론 분류입니다
DP [I]는 [0] : 어제 또는 최대 값, 즉이 중 예약, 또는 마지막 허용 예약을 수락하지 : 오늘 예약을 수락하지 (최대 = 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는 (== 렌 . 1 ) { . 9 반환 nums [ 0 ] (10) } . 11 (12)가 // DP [I] [0] 구간 [0, i가 상기 예약 요청의 승인 및 오늘의 첨자 i가 예약 최대 기간 받아들이지 13 //DP [I] [1] : 최대 시간 구간 [0, 난]의 예약 요청하고 그 날에 대한 첨자를받는 수용 I 예약 14 INT [] [] DP = 새로운 새 INT [LEN] [ 2 ] 15 DP는 [ 0 ] [ 0 ] = 0 ; 16 DP는 [ 0 ] . 1 ] [nums = 0 ] . 17 (18)가 대해 ( INT I = . 1 ; I 렌 <;를 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 [렌 - 1 ] [ 0 ], DP [렌 - 1 ] [ 1 ]); 23 } 24 25 공공 정적 무효 메인 (문자열 []에 args) { 26 솔루션 용액 = 새로운 솔루션 (); 27 // INT [] nums = {1, 2, 3, 1}; 28 // INT [] nums = {2, 7, 9, 3, 1}; 29 INT [] nums = { 2, 1 , 4 , 5 , 3 , 1 , 1 , 3 }; 30 INT의 입술 = solution.massage (nums); (31) 시스템. 아웃 .println (해상도); 32 }
저자 : liweiwei1419의
링크 : HTTPS : //leetcode-cn.com/problems/the-masseuse-lcci/solution/dong-tai-gui-hua-by-liweiwei1419-8/
출처 : 숙박 버튼 (LeetCode)
저자가 저작권 . 상업 무단 전재 공인 저자에 문의하시기 바랍니다, 소스가 표시 비상업적 무단 전재하시기 바랍니다.