現在、2 つのネストされたfor
ループを使用して、文字列のすべての部分文字列を生成しています。聞いたことSuffix Tree
がありますが、AFAIKSuffix Tree
は部分文字列ではなく接尾辞を生成します。以下は、現在私が使用しているコードです-
String s = "abacbccca";
int l = s.length();
for (short c = 0; c < l; c++) {
for (short r = 0; r < l - c; r++){
Sting ss=s.substring(c, c + r + 1);
if(!t.contains(ss));
t.add(ss);
}
}
未満のすべての部分文字列を生成できる方法が必要ですO(n^2)
。私のコードを見ると、すべての部分文字列をリストに追加しているので、誰でも不可能だと示唆することができます。しかし、私の目的はすべての部分文字列を保存することではなく、辞書編集的に i 番目に小さい文字列を見つけることです。