最長の回文配列のleetcode 516

クラス解決{
 パブリックINT longestPalindromeSubseq(ストリングS){
         int型 LEN = s.size()。
        もし(LEN == 0 の戻り 0 ; 
        ベクター <ベクトル< INT >> DP(LEN、ベクトル< INT >(LEN、1 ))。
        以下のためにINT iが= 1 ; I <LEN; I ++ 
        { 
            ためINT J = 0 ; J <len- 1 ; J ++ 
            { 
                もし(I == 1 
                { 
                    場合(J + I <LEN && S [j] == S [J + I])
                    { 
                        DP [J] [J + 1] = 2 ; 
                    } 
                } 
                
                { 
                    場合(J + I < LEN)
                    { 
                    もし、(S [j] == S [J + I])
                    { 
                        DP [J] [J + I] = DP [J + 1 ] [J + I- 1 ] + 2 
                    } 
                    
                    { 
                        DP [J] [J+ I] = MAX(DP [J + 1 ] [j + 1]、DP [J] [J + I- 1 ])。
                    } 
                    } 
                } 
            } 
        } 
        戻り DP [ 0 ] [len- 1 ]。
    } 
}。

 

おすすめ

転載: www.cnblogs.com/QingFengDaHui/p/12450263.html