슬라이딩 윈도우 ?
너비를 동일하게 하면서 한쪽 방향으로 이동하면서 그 너비 안에서 탐색 하는 것이다.
투포인터 vs 슬라이딩 윈도우
투포인터 :
- 정렬이 되어야한다
- 서로 좁혀진다
- 간격이 일정하지 않아도된다
슬라이딩 :
1.정렬 안되어도 된다,
2. 간격이 일정
3. 한방향으로 이동
슬라이딩 윈도우문제 틀린부분
이문제랑 아주 유사한 문제를 코테에서쳤었다..
무슨 문제인지 몰랐지만 찾아보니 아주 비슷한 릿코드에 있길래 풀어봤다
시험에서도 시간초과가 발생했지만 여기서도 발생 !
하지만 시간을 놓고 고민 하다 보니 잘못된 점을 발견했다.
for문안의 for문에서 범위 조절이 실패해서 터졌던거 같다..
vector<int> maxSlidingWindow(vector<int>& nums, int k) {
vector<int> v;
int _len = nums.size();
for(int i = 0 ; i < _len - k + 1; ++i) {
int tmp = 0;
for(int j = i; j < i + k; ++j) {
if(nums[j] > tmp) tmp = nums[j];
}
v.push_back(tmp);
}
return v;
}
안쪽 포문에서 j가 i번째부터 도는데 ... k개씩 봐야하기에 j < i + k로 조건을 설정 했었어야 했는데 이부분에서 오류가 있었던 것같다.
'알고리즘' 카테고리의 다른 글
순열과 조합 (로또 : 6603) 백준 (0) | 2021.08.23 |
---|---|
leetcode , Sliding Window Maximum (0) | 2021.08.19 |
백준 가장 긴 증가하는 부분 수열 4 14002 (0) | 2021.08.10 |
백준 9251 lcs (0) | 2021.08.09 |
백준 11066 파일합치기 (0) | 2021.08.04 |