Practice #2
الدرس 10 من 12 في دورة Queue - سلسلة هياكل البيانات #2 على Coddy.
تم تصميم التحديات التالية لاستخدام طابور (queue). إنّ بنية البيانات Queue متوفرة لك بالفعل — استخدمها!
التحدي
سهلاكتب دالة باسم maxWindowSum تستقبل مصفوفة من الأعداد الصحيحة (a) و حجم نافذة منزلقة (k)، وتعيد أقصى مجموع داخل النافذة المنزلقة.
استخدم الـ Queue المقدم لحل هذه المشكلة!
جرّب بنفسك
#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;
}