-4

コード (または次の問題のコードのスニペットまたは解決方法のヒント) が必要です。

文字列 s のサブシーケンスは、s から 1 つまたは複数の文字を削除することによって取得されます。文字列のサブ シーケンスのセットはs = abca, ab, ac, abc, b, bc, c,空の文字列 (すべての文字列のサブ シーケンス) になります。

s のすべての可能なサブ シーケンスを検索し、それらを辞書順に出力します。

これは私が出てきたものですが、機能していません:

TreeSet<String> ls = new TreeSet<>();

    for(int i=0;i<s.length();i++)
    {

        for(int j=i;j<s.length();j++)
        {
            StringBuffer sb = new StringBuffer();

            for(int k=i;k<j+1;k++)
            {
                sb.append(s.charAt(k));
            }

            ls.add(sb.toString());
        }

    }




    return ls.toArray(new String[ls.size()]);

結果:

TestCase : abc

出力: aab abc b bc c

期待される出力: a ab abc ac b bc c

4

1 に答える 1