String-Permutation


Amir

Ich habe folgenden Java-Code gefunden. Es zählt alle Permutationen eines Strings. Ich kann jedoch nicht verstehen, was es in der for-Schleife der Permutationsmethode tut. Genauer gesagt kann ich den Zweck des rem-Strings und des rekursiven Aufrufs nicht verstehen.

Gibt es dazu irgendwelche Gedanken?

Vielen Dank.

void permutaion(String str){
    permutaion(str,"");
}

void permutaion(String str, String prefix){
    if(str.length() == 0){
        System.out.println(prefix);
    } else{
        for(int i=0; i < str.length(); i++){
            String rem = str.substring(0,i) + str.substring(i+1);
            permutaion(rem, prefix + str.charAt(i));
        }
    }
}
Kevin Anderson

Die Grundidee ist folgende: Um die Permutationen einer gegebenen N- Zeichenkette zu erhalten, müssen Sie:

  1. Nehmen Sie den ersten Buchstaben der ursprünglichen Zeichenfolge und hängen Sie alle Permutationen der verbleibenden N - 1 Zeichen an;
  2. Nehmen Sie die ersten beiden Buchstaben der ursprünglichen Zeichenfolge und hängen Sie alle Permutationen der verbleibenden N - 2 Zeichen an;
  3. Nehmen Sie die ersten drei Buchstaben der ursprünglichen Zeichenfolge und hängen Sie alle Permutationen der verbleibenden N - 3 Zeichen an ...

Verwandte Artikel


String Permutation Kick udf

Zied Hermi Ich konvertiere ein Schwein-Skript mit Scala in Spark 1.6, ich habe einen Datenrahmen, der eine Zeichenfolge enthält, und ich möchte Zeichen in einer bestimmten Reihenfolge austauschen. Beispiel: +----------------+ | Info| +--------------

Frage zur String-Permutation mit Rekursion

Stanleyrr Dies hängt mit der Rekursion zusammen. s ist die Zeichenfolge 'abc'. Gibt alle Permutationen von s zurück. Die gewünschte Ausgabe lautet also: ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']. Aber ich habe Probleme, die Zeile im folgenden Code zu verstehe

Pandas - Generiere String-Permutation an einem festen Ort

vereinigtsaga Ich suche nach einer möglichen Permutation aus einer Zeichenfolge, so dass die Permutation nur an einem festen Ort stattfindet Beispielzeichenfolge - 'ABC|DE|F' Erwartetes Ergebnis: ABCE ABCF ABDE ABDF Sie können die Beispielzeichenfolge lesen,

Zeit- und Raumkomplexität der String-Permutation mit Set

Uomolepre Dies ist ein bekanntes Problem, aber ich habe gerade damit begonnen, die Komplexität von Zeit und Raum zu untersuchen. Dies ist meine Implementierung und ich möchte wissen, ob ich richtig liege oder nicht. public static void main (String[]args){

Permutation in JavaScript

jhone Hier ist mein Problem: Suchen Sie für einen bestimmten Satz nach Vorkommen des angegebenen Zeichensatzes. Wählen Sie gefilterte Wörter aus und generieren Sie Permutationen. (Satz und Zeichen dürfen nur Großbuchstaben enthalten.) Ausgewählte Wörter und Pe

Permutation in SQL

user5529778 Ich habe das folgende Problem und kann keine Lösung finden (auch nachdem ich viel im Internet gesucht habe). Ich habe eine Tabelle mit Projekten und den zugehörigen Mitarbeitern (ca. 100.000 Einträge): +------------+-------------+ | Project ID |

Unstable permutation

sujithra baskaran Today, I tried to solve this question: A permutation P is called unstable if it keeps changing every second based on the rule below. -Every element of the permutation is changing every second independently following a rule, i.e., after one se