増減のPHPの文字列照合アルゴリズム

したがってN = S.lengthことは、唯一の "I"(増加)または "D"(減らす)ストリングSを含む所与。

I = 0全てのバック[0、1、...、N]その結果、任意の配列のA、...、N-1は、次のとおりです。

もしS [I] == "I" 、 その後、A [i]が<A [i + 1]
S [i] == "D"場合、A [i]> A [I + 1]
 

例1:

出力: "IDID"
出力:[0,4,1,3,2]
例2:

出力: "III"
出力:[0,1,2,3]
実施例3:

出力: "DDI"
出力:[3,2,0,1]
 

ヒント:

1 <= s.length <= 1000
Sのみ文字"I"または"D"を含みます。

出典:滞在ボタン(LeetCode)

クラスのソリューション{

    / **
     * @param文字列$ S
     * @return整数[]
     * /
    機能diStringMatch($ S){
        $ ARR = [];
        $ M = 0。
        $ N = STRLEN($ S)。
        用($ i = 0; $ I <= STRLEN($ S); $ I ++){
            もし($ S [$ i]を== 'I'){
                $ ARR [] = $ M。// array_push($ arrが、$ M);
                $ M ++;
            }他{
                $ ARR [] = $ N。
                $ N - ;
            }
        }
        $ ARRを返します。
    }
}

おすすめ

転載: www.cnblogs.com/corvus/p/11985973.html