Dużo bardziej prostsza wersja. public class MovingAverageInSlidingWIndow int windowsize Kolejka kolejki int sum. public MovingAverageInSlidingWIndow int windowize new window new LinkedList 0. znajdzie średnią ruchu po wstawieniu elementu n do strumienia danych private double findMovingAverage int n jeśli windowize - 1 suma suma sumy n return double sum. public static void main String args. int windowsize 3 MovingAverageInSlidingWIndow m new MovingAverageInSlidingWIndow windowsize. for int i 1 i 20 i Po dodaniu i do kolejki Average is. We możemy po prostu utrzymać obecną sumę elementów w kolejce w zmiennej globalnej Tak , zmniejszając obliczenie w następnej metodzie. public class MovingAverage LinkedList kolejka int size int sum 0 przechowuje kolejkę. Inicjuj swoją strukturę danych tutaj public MovingAverage int size new LinkedList size. public podwójna następna suma val val sum. Numeruj strumień liczb całkowitych i rozmiar okna, oblicz średnią ruchu wszystkich liczb całkowitych w oknie przesuwnym. Na przykład MovingAverage m new MovingAverage 3 1 1 10 2 1 10 3 3 10 3 5 3.Możemy użyć ograniczonej kolejki, aby nagrać ostatnie n liczb całkowitych w oknie i zdefiniować zmienną sumN, aby zapisać sumę liczb w oknie. Każdy czas nowy numer jest zarejestrowany, aktualizujemy sumN minus główka kolejki i dodajemy bieżący numer Zdejmujemy również główkę z kolejki i dołączamy bieżący numer na końcu kolejki. Patrz poniższe rozwiązanie Java. Jedna średnia Java. Dzięki strumieniowi liczb całkowitych i rozmiarowi okna, oblicz średnią ruchu wszystkich liczb całkowitych w oknie przesuwnym. Na przykład, MovingAverage m new MovingAverage 3 1 1 10 2 1 10 3 3 3 3 3 3 3. Możemy użyć ograniczonej kolejki , aby nagrać ostatnie n liczb całkowitych w oknie i zdefiniować va riable sumN, aby nagrać sumę liczb w oknie. Każdemu razem, gdy nowy numer jest zarejestrowany, aktualizujemy sumN minus główka kolejki i dodajemy bieżący numer. Usuwamy również główkę z kolejki i dołączamy bieżący numer na końcu kolejki. Zobacz poniższe rozwiązanie Java. Znajdź Średnia Java.
No comments:
Post a Comment