题解 | #滑动窗口的最大值#
滑动窗口的最大值
https://www.nowcoder.com/practice/1624bc35a45c42c0bc17d17fa0cba788
#include <algorithm> #include <vector> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num int整型vector * @param size int整型 * @return int整型vector */ int maxValue(vector<int>& v)// 排序一下,返回最大值 { sort(v.begin(), v.end()); return v[v.size()-1]; } // 滑窗,关键理解步长即可 vector<int> maxInWindows(vector<int>& num, int size) { // write code here vector<int> res; if (num.size() < size || size <= 0) {// 注意窗口一定是大于0且不大于容器的 return res; } vector<int> tmp; for(int i = 0; i < num.size() - size + 1; ++i) { for(int j = 0; j < size; ++j)//按照步长获取临时数组 { tmp.push_back(num[i + j]); } res.push_back(maxValue(tmp));// 填充临时数组最大值 tmp.clear(); } return res; } };
挤挤刷刷! 文章被收录于专栏
记录coding过程