Luyện tập #2
Bài học 10 trên 12 trong khóa học Hàng đợi, chuỗi cấu trúc dữ liệu #2 của Coddy.
Các thử thách tiếp theo được thiết kế để sử dụng hàng đợi. Cấu trúc dữ liệu Queue đã được cung cấp sẵn cho bạn, hãy sử dụng nó!
Thử thách
DễViết một hàm có tên maxWindowSum nhận một mảng số nguyên (a) và kích thước cửa sổ trượt (k), rồi trả về tổng lớn nhất trong cửa sổ trượt.
Hãy dùng Queue đã cho để giải bài toán này!
Tự làm thử
#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;
}
Tất cả bài học trong Hàng đợi, chuỗi cấu trúc dữ liệu #2
Tự luyện tập: Trình biên dịch C online