# Doppelt Schleife durch Rekursion ermöglichen



## Hero (27. Apr 2012)

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:

```
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 (27. Apr 2012)

z.B.


```
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;
}
```


----------



## Hero (28. Apr 2012)

Danke für die Hilfe  Hat geholfen !


----------

