#include<iostream>
#include<vector>
#include<deque>
using namespace std;
int main() {
vector<int> A{ 2,1,4,3,1,4,5,6 };
for (auto temp : A)
cout << temp << " ";
cout << endl;
for (int size = 1; size <= A.size(); ++size) { //子序列的长度
deque<int> son; //利用序列数据结构的出序列进序列操作可以轻松实现固定长度的连续子序列的遍历
for (int i = 0; i < A.size(); ++i) {
son.push_back(A[i]);
if (i >= size - 1) {
for (auto temp : son) //此处为对连续子序列的遍历输出操作,可以任意定制对子序列的相关操作。
cout << temp << " ";
cout << endl;
son.pop_front();
}
}
}
return 0;
}
滑动窗口的最大值
#include<iostream>
#include<vector>
#include<deque>
using namespace std;
int main() {
int size = 3;
vector<int> num{ 2,3,4,2,6,2,5,1 };
deque<int> son; //存储序列的下标,dequ