Ich wurde diese Frage in einem Interview gestellt. Der erste Teil war ziemlich einfach, in dem ich einen Code schreiben musste, um die maximale Anzahl aufeinanderfolgender Ganzzahlen in einem Array zu erhalten. Im Folgenden ist der Code, den ich schrieb:Wie bekomme ich die größte Anzahl aufeinanderfolgender Ganzzahlen in einem sehr großen Array (verteilt über mehrere Maschinen)
int count = 0, max = 0;
for(int i = 1; i < array.length; i++) {
if((array[i - 1] + 1) == array[i])) //curr is consecutive to prev
count++;
else
count = 0; //reset the counter as sequence is broken
//Keep track of maximum
if(count > max)
max = count;
}
System.out.println(max); //print the length of largest consecutive integers
Der zweite Teil war Follow-up Frage darauf:
Wie würden Sie diese Logik modifizieren, um Arrays zu arbeiten, die in mehreren Rechnern gespeichert sind?