문제 : https://leetcode.com/problems/russian-doll-envelopes/
문제의 가장 긴 연속 서브 타입. 정렬하기 위해, DP [I] 인형의 최대 개수 i 번째 레코드를 사용.
부울 CMP ( CONST 벡터 < INT > 및 X, CONST 벡터 < INT > & Y) { 리턴 X [ 0 ] == Y [ 0 ]? X [ 1 ] <Y [ 1 ], X [ 0 ] <Y [ 0 ]; } 클래스 솔루션 { 공개 : INT의 maxEnvelopes (벡터 <벡터 < INT >> & 봉투) { 종류 (envelopes.begin (), envelopes.end (), CMP); INT N = envelopes.size (); 만약 (! n을) 반환 0; 벡터 < INT > DP (N, 1 ); INT 입술 = 0 ; 위한 ( int로 I = 0 ; i가 N <; 내가 ++ ) { 대 ( INT의 J = 0 ; J <I, J ++ ) { 경우 (봉투 [J] [ 0 ] == 봉투 [I] [ 0 ]) 분해 ; 경우 (봉투 [I] [ 1 ]> 봉투 [J] [ 1 ]) { DP [I]= 최대 (DP [I], DP [J] + 1 ); } } 입술 = 최대 (DP [I] 입술); } 반환 입술을; } };