Ćwiczenie nr 2
Lekcja 10 z 12 w kursie Kolejka — struktury danych, seria nr 2 w Coddy.
Kolejne wyzwania zostały zaprojektowane z myślą o użyciu kolejki. Struktura danych Queue jest już dla Ciebie dostępna — skorzystaj z niej!
Wyzwanie
ŁatwyNapisz funkcję o nazwie maxWindowSum, która przyjmuje tablicę liczb całkowitych (a) i rozmiar przesuwnego okna (k) oraz zwraca maksymalną sumę w przesuwnym oknie.
Użyj udostępnionej kolejki, aby rozwiązać ten problem!
Spróbuj swoich sił
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "solution.h"
int main() {
char line[4096];
int* a = (int*)malloc(sizeof(int) * 1000);
int aSize = 0;
if (fgets(line, sizeof(line), stdin)) {
char* tok = strtok(line, " \t\r\n");
while (tok) { a[aSize++] = atoi(tok); tok = strtok(NULL, " \t\r\n"); }
}
int k = 0;
scanf("%d", &k);
printf("%d\n", maxWindowSum(a, aSize, k));
free(a);
return 0;
}
Wszystkie lekcje w sekcji Kolejka — struktury danych, seria nr 2
Poćwicz samodzielnie: Kompilator C online