일단 씻고 나가자

24.06.13 본문

Study/닥치는 대로 주워 담기

24.06.13

일단 씻고 나가자 2024. 6. 13. 19:56

2023. 06. 13 목요일

 

- 슬라이딩 윈도우로 각 구간의 최댓값을 구하는 방법?

: Deque를 사용한다. 구간의 너비를 k라고 할 때, 각 원소를 index와 값으로 묶는다.

(Dequeindex만 저장하여 값의 비교는 원소[index]의 방법도 있다)

 

다음과 같은 규칙으로 알고리즘을 작성한다.

1. DequepeekFirstindex가 현재 구간의 index 범위보다 벗어난 경우 제거한다.

(ex. k = 3인 상황에서, index4일 때 DequepeekFirst1이 들어가 있을 땐 제거)

2. 새로 들어올 원소가 DequepeekLast보다 작은지 검사하며,

역순으로 작은 값을 모두 제거 (pollLast)한다.

3. 새로 들어온 원소를 offerLast한다.

4. 매 순간의 최댓값은 DequepeekFirst가 된다.

'Study > 닥치는 대로 주워 담기' 카테고리의 다른 글

24.06.18  (0) 2024.06.18
24.06.17  (0) 2024.06.17
24.06.12  (0) 2024.06.12
24.06.10  (0) 2024.06.10
23.11.07  (0) 2023.11.08