https://www.geeksforgeeks.org/window-sliding-technique/
working example
https://www.onlinegdb.com/edit/BJX3JA0Zv
code =>
#include <stdio.h>
#include<iostream>
#include<vector>
using namespace std;
//https://www.geeksforgeeks.org/window-sliding-technique/
int Windowslidingtechnique(vector<int> &vec,int element)
{
//get sum
int sum=0;
for(int i=0;i<element;i++)
{
sum+=vec.at(i);
}
//sliding window technique
int windowSum=sum;
int maxSum=0;
for(int i=element;i<vec.size();i++)
{
windowSum+=vec.at(i)-vec.at(i-element);
maxSum=max(maxSum,windowSum);
}
return maxSum;
}
int main()
{
vector<int> vec={ 1, 4, 2, 10, 2, 3, 1, 0, 20 };
int k = 4;
std::cout << Windowslidingtechnique(vec,k) << std::endl;
return 0;
}
Comments
Post a Comment