分两步:
首先找到窗口内的内容,然后找到窗口内的最大值。
1 class Solution { 2 public: 3 vector<int> maxInWindows(const vector<int>& num, unsigned int size) 4 { 5 vector<int> re; 6 7 int len = num.size(); 8 if (size == 0 || len == 0 || size > len) 9 return re; 10 //找到这几个数 11 for (int i = 0; i <= len - size; i++) 12 { 13 14 re.push_back(findbig(num, size,i)); 15 } 16 return re; 17 //求这几个数中的最大值 18 } 19 int findbig(const vector<int>& num, unsigned int size, unsigned int i) 20 { 21 int big = num[i]; 22 for (int k=i+1;k<i+size;k++) 23 { 24 if (num[k] > big) 25 big = num[k]; 26 } 27 return big; 28 } 29 };
原文:https://www.cnblogs.com/neverland0718/p/11266336.html