Java Permutation, der Grad von?

2 Antworten

Führe die Permutationen so oft in einer Schleife durch, bis wieder das Ursprungsarray herauskommt. Zähle dabei, wie oft permutiert wurde:

private int getOrder(int[] a) {
  int[] b = permute(a, a);
  int i;

  for (i = 1; !Arrays.equals(a, b); ++i) {
    b = permute (b, a);
  }

  return i;
}

Du kannst doch programmieren. Und als Programmierer muss man mit solchen Problemen rumschlagen.

Du könntest eine while loop schreiben, die einen Zähler um mindestens 1 erhöht, wenn er die Funktion "Permutation" aufruft.

Achtung: Wenn du Arrays miteinander vergleichen möchtest, dann kannst du "==" nicht benutzen. Sie wird jedes Mal "False" ausgeben, auch wenn sie die gleichen Inhalte haben.