Ich versuche den schnellsten Weg zu finden, um die maximale Anzahl von eindeutigen Werten in m-großen Unterfeldern einer Reihe von n ganzen Zahlen aus der Konsole zu zählen. Gibt es eine Möglichkeit, diesen Code weiter zu optimieren? Danke im Voraus, AlexSchnellste Methode zum Zählen der maximalen Anzahl von eindeutigen Werten in Deque
import java.util.*;
public class test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Deque deque = new ArrayDeque<>();
int n = in.nextInt();
int m = in.nextInt();
long count = 0, c = 0;
for (int i = 0; i < m; i++) deque.addFirst(in.nextInt());
count = deque.stream().distinct().count();
for (int i = 0; i < n - m; i++) {
count = Math.max(count, deque.stream().distinct().count());
deque.removeLast();
deque.addFirst(in.nextInt());
}
System.out.println(count);
}
}
Nur der Maximalwert in der 'count' Variable gespeichert ist, so glaube ich nicht, dass es irgendeine zusätzliche Logik – user1435820
Ah erforderlich ist, ja, sorry, nicht lesen den Code richtig ! –