Doppelt Schleife durch Rekursion ermöglichen

Hero

Mitglied
Hallo,
ich möchte gerne eine doppelte For Schleife durch eine Rekursion ermöglichen, d.h. wir müssen auf Schleifen verzichten, so gut es gut.

Der Grund für die Doppelte For-Schleife ist weil ich die Elemente eines Arrays miteinander vergleichen will. Bei einer normalen Schleife sieht es ja folgendermaßen aus:
Java:
for(int i=0;i<p.length;i++)
for (int j=i+1;j<p.length;j++)

Die Frage ist es nun, wie ich die doppelte Schleife umsetzen kann, ohne eine for bzw. while Schleife zu benutzen?!?
 

Landei

Top Contributor
z.B.

Java:
public static boolean hasDuplicate(int[] array) {
   return helper(array, 0, 1);
}

private static boolean helper(int[] array, int a, int b) {
  if (array[a] == array[b])  return true;
  if (b + 1 < array.length)  return helper(array, a, b+1);
  if (a + 2 < array.length) return helper(array, a+1, a+2);
  return false;
}
 

Neue Themen


Oben