{
"llm" : {
"feedback" : "# Exercise: maxsubsequence\n\n### Correctness\n- Die äußere Schleife läuft mit `end--` in die falsche Richtung; dadurch wird `end` immer kleiner und die Schleife terminiert nicht (Endlosschleife).\n- `maximum` wird nie mit einer berechneten Summe verglichen/aktualisiert, daher liefert die Methode immer `0` zurück (außer sie hängt vorher in der Endlosschleife).\n- Die innere Summen-Schleife verwendet `i <= end`; für viele Kombinationen von `star` und `end` (z.B. wenn `star > end`) wird entweder gar nicht korrekt summiert oder du riskierst ungültige Indexbereiche.\n- Der berechnete `sum` wird nach dem Berechnen nicht verwendet (weder zurückgegeben noch in `maximum` eingerechnet), dadurch kann kein maximaler Gewinn ermittelt werden.\n\n### Suggestion\n- Prüfe die Zählrichtung deiner äußeren Schleife: Wenn du von `0` bis `data.length` iterieren willst, muss der Zähler pro Durchlauf größer werden, nicht kleiner.\n- Überlege dir, an welcher Stelle du `maximum` aktualisieren musst: Immer dann, wenn du eine neue Teilsumme berechnet hast, solltest du sie mit dem bisherigen Maximum vergleichen.\n- Stelle sicher, dass deine Start-/End-Indizes einen gültigen Bereich bilden (Start ≤ Ende) und dass du nicht über Array-Grenzen hinaus iterierst.\n- Nutze die berechnete `sum` aktiv: Entscheide, wann sie verworfen wird und wann sie als Kandidat für das Maximum zählt (insbesondere, wenn die Summe negativ wird bzw. alle Werte negativ sind).\n\n### Code Style\n- Variablennamen: `star` wirkt wie ein Tippfehler (vermutlich `start`), und konsistente, sprechende Namen erleichtern das Verständnis.\n- Formatierung: Achte auf einheitliche Leerzeichen (z.B. `int sum = 0;`, `i <= end;`) und konsistente Klammer-/Einrückungsstile.\n- Der `TODO`-Kommentar ist irreführend, wenn darunter bereits Code steht; entweder entfernen oder so anpassen, dass klar ist, was noch fehlt.\n",
"status" : "SUCCESS"
}
}