#include using namespace std; //********************************** // HackerRank Prepare C++: Deque-STL //********************************** vector getKMax(const vector& array, int N, int K) { vector result; // O(N * K) for (int i = 0; i < N - K + 1; i++) { int subarrMax = 0; // array element min = 0, max = 10000 for (int j = 0; j < K; j++) { subarrMax = max(array.at(i + j), subarrMax); } result.push_back(subarrMax); } return result; } int main() { // K, input , expected vector, vector>> testCases = { {3,{12,1,78,90,57,89,56}, {78,90,90,90,89}}, {2,{3,4,6,3,4}, {4,6,6,4}}, {4,{3,4,5,8,1,4,10}, {8,8,8,10}}, }; for (auto test: testCases) { int K = get<0>(test); const vector& input = get<1>(test); const vector& expected = get<2>(test); for (auto i: input) {cout << i << " ";} cout << endl; vector result = getKMax(input, input.size(), K); for (auto i: result) {cout << i << " ";} cout << endl; for (auto i: expected) {cout << i << " ";} cout << endl; cout << "----------------\n"; } return 0; }