Hallo,
ich habe ein Problem beim Verständnis des folgenden Codes, um eine gesuchte Folge in einem Feld zu identifizieren:
Also mir ist klar, dass ich zwei Felder habe: Feld und gesuchteFolge. Mir ist auch sage ich mal klar, dass man immer einzelne Zahlen abgleicht und schaut, ob die Teilfolge in der entsprechenden Folge enthalten ist, allerdings verstehe ich den Code dahinter nicht.
Wie genau funktionieren i und j? Warum heißt es genau "feld[i + j] != gesuchteFolge[j]: Wozu addiere ich die beiden Positionen?
Vielen Dank
ich habe ein Problem beim Verständnis des folgenden Codes, um eine gesuchte Folge in einem Feld zu identifizieren:
Code:
boolean istTeilfolge(int[] feld, int[] gesuchteFolge) {
for (int i = 0; i < feld.length - gesuchteFolge.length + 1; i++) {
for (int j = o; j < gesuchteFolge.length; j++) {
if (feld[i +j] != gesuchteFolge[j]) {
break;
} else if (j == gesuchteFolge.length -1) {
return true
}
}
}
return false;
}
Also mir ist klar, dass ich zwei Felder habe: Feld und gesuchteFolge. Mir ist auch sage ich mal klar, dass man immer einzelne Zahlen abgleicht und schaut, ob die Teilfolge in der entsprechenden Folge enthalten ist, allerdings verstehe ich den Code dahinter nicht.
Wie genau funktionieren i und j? Warum heißt es genau "feld[i + j] != gesuchteFolge[j]: Wozu addiere ich die beiden Positionen?
Vielen Dank
Zuletzt bearbeitet: