Sliding Window
일정한 크기의 박스(윈도우)를 유지하면서 이동하는 알고리즘
알고리즘 설명
연속된 3수의 최대값을 찾는다고 해보자.
1 ) 크기가 3인 박스를 만든다.
2 ) 한 칸씩 이동하면서 3수의 합을 계산한다.
알고리즘 구현
구현은 다음과 같다.(자바)
int max = 0;
for(int i = 0; i < 3; i++) {
max += arr[i];
}
int answer = max;
for(int i = m; i < n - 3; i++) {
max -= arr[i-m];
max += arr[i];
answer = Math.max(answer, max);
}