算法可视化
入门执行逻辑
滑动窗口:窗口最大值
一个固定大小的窗口在数组上滑动,每移动一步,左边出去一个,右边进来一个,求每个窗口的最大值。
main.cpp第 2 行
1// 滑动窗口: 窗口大小 k = 3, 求每个窗口的最大值
2int a[] = {1, 3, -1, -3, 5, 3, 6, 7};
3for (int l = 0; l + k <= n; l++) {
4 int r = l + k - 1;
5 int mx = max(a[l..r]); // 窗口 [l, r] 的最大值
6 cout << mx;
7}
变量表2 个变量
k3
a[1, 3, -1, -3, 5, 3, 6, 7]
数组 a
比较交换已就位
10
31
-12
-33
54
35
66
77
1/8
数组 a,窗口大小 k = 3,求每个窗口的最大值
1 / 8