-4

文字を含む 2 つの文字列がある場合、それらの文字の可能な組み合わせをすべて取得するにはどうすればよいですか?

たとえば、文字列「abc」と別の「def」がある場合、次のようなすべての組み合わせを取得するにはどうすればよいですか。

ad ae af

bd be bf ...など。

コンボの最初の文字は常に最初の文字列から取得され、2 番目の文字は 2 番目の文字列から取得されます。

複数の文字列で動作できるようにしたい。テキスト予測用です。各文字列は、携帯電話のキーパッドの文字を表します。

public void getCombos(){

String s1 = "abc"
String s2 = "def"

}
4

4 に答える 4

0

あなたの説明を踏まえて、単純な二次アルゴリズムを作成しました。

public static void combine(String s1, String s2) {
    for(int i = 0; i < s1.length(); i++) {
        System.out.println(s1.charAt(i));
        for(int j = 0; j < s2.length(); j++) {
            System.out.println(String.format("%s%s", s1.charAt(i), s2.charAt(j)));
        }
    }
}

重複を避ける必要がある場合は、文字をセットに挿入し (HashSet を参照)、それらを使用して文字列を生成できます。また、使用されるすべての文字を追跡し、それらを2回使用しないようにすることもできます...

とにかく、私の例があなたが始めるのに役立つことを願っています.

于 2013-04-29T20:08:10.470 に答える