Ich versuche, die ersten fehlenden positiven Ganzzahlen in einem Array zu finden, und ich bekomme diese Fehlermeldung weiter. Ich bin ziemlich neu in der Programmierung und ich kann den Grund dafür nicht herausfinden. Kann mir jemand helfen, das Problem zu finden? Wenn die Eingabe [1] ist, wird auch eine Ausnahme ausgelöst."Index war außerhalb des Bereichs Ausnahme" Fehler
Dies ist mein Code:
public static int solution(int[] A)
{
Array.Sort(A);
List<int> missing = new List<int>();
List<int> An = new List<int>();
foreach (var r in A)
{
if (r > 0)
{
An.Add(r);
}
}
int lengthList = (An[An.Count]) - (An[0]);
for (int i = An[0]; i <= lengthList - 1; i++)
{
if (An[i + 1] != An[i] + 1)
{
missing.Add(An[i] + 1);
An.Insert(i + 1, An[i] + 1);
}
}
if (missing != null)
{
return missing[0];
}
else
return 0;
}
Können Sie auch Input-Array hinzufügen? –
Was ist * fehlende positive Ganzzahl *, bitte? –
'(An [An.count])' sollte in '(An [An.count-1])' geändert werden. Arrays sind nullbasiert, aber "count" gibt die Anzahl der Elemente in "An" zurück, die auf 0 basieren – Aidin