したがって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を返します。
}
}