問題:https://leetcode.com/problems/russian-doll-envelopes/
問題の最長の連続したサブタイプ。ソートするには、DP [i]は人形の最大数i番目を使用してレコード。
BOOL 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型のres = 0 ; 用(int型 i = 0 ; iがN <; Iは++ ) { ため(INT J = 0 ; J <I、J ++ ) { 場合(封筒[j] [ 0 ] ==封筒[I] [ 0 ])ブレーク。 もし(封筒[I] [ 1 ]>封筒[J] [ 1 ]) { DP [I]= MAX(DP [I]、DP [J] + 1 )。 } } RES = MAX(DP [i]は、RES)。 } 戻りRESと、 } }。