この質問は、私たちのプレースメントの会社のコーディングラウンドで尋ねられました。カウント数。文字列の
は、我々は、それがグループに分割されるように文字列を配置する必要があり、1から9までの数字からなる文字列を考えます。私たちは何もないと数える必要があります。グループの合計である可能性のある文字列の数< =次の連続するグループの合計。
例1
入力:1234
出力:6つの
文字列である:
- {1,2,3,4}
- {1,2,34}
- {12 、3,4}
- {12,34}
- {1,234}
- {1234}
ここで第一の組み合わせ、1 前記第2の組合せ、1 (3 + 4)。等々。
例2
入力:516
出力:3
文字列は次のとおり
- {5,16}
- {51,6}
- {516}
すべての文字列を生成するための総当たりの時間は、O(2 ^(n-1))です。 私の質問はどのようにブルートフォースよりも優れた方法でそれを解決することですか?
制約:入力文字列の長さ1 < = N = 1000 <