[メモリ検索]は87スクランブル文字列をleetcode

問題:https://leetcode.com/problems/scramble-string/

        メモリ検索。すべての可能な為替の状況で右を見つけます。

クラスのソリューション{
 パブリック
    unordered_map < 文字列ブール > DP;
    BOOL isScramble(ストリング S1、ストリングS2){
         場合(dp.find(S1 + "  " + S2)=!dp.end())
             戻り DP [S1 + "  " + S2]。
        INT、N = s1.size()。
        もし(S1 == S2)を返す 

        ベクトル < int型 >のカウント(2560);
        int型 iは= 0 ; iが(s1.sizeを<); iが++ ){ 
            [i]は[S1]カウント ++ 
            [S2 [i]は]カウント - ; 
        } 
        ための(自動C:カウント){
             場合(!C = 0を返す 
        } 
        BOOL RES = 以下のためにint型 i = 1 ; iがn <; iは++ ){ 
            RESを | =((isScramble(s1.substr(0、I)、s2.substr(N - I))&&
                isScramble(s2.substr(0、N - I)、s1.substr(I)))
        || (isScramble(s1.substr(0、I)、s2.substr(0、I))&& isScramble(s1.substr(I)、s2.substr(I))))。 } 戻り DP [S1 + " " + S2] =のRES。 } }。

 

おすすめ

転載: www.cnblogs.com/fish1996/p/11322753.html