반응형
문제 링크
https://leetcode.com/problems/sliding-window-maximum/
내 코드
public int[] maxSlidingWindow(int[] nums, int k) {
if(k == 1) return nums;
int[] result = new int[nums.length - k + 1];
int max = Integer.MIN_VALUE;
int count = 1;
int maxIndex = 0;
int resultIndex = 0;
boolean start = false;
for(int i = 0; i < nums.length; i++) {
if (i - maxIndex > k - 1)
max = Integer.MIN_VALUE;
if(max <= nums[i]) {
max = nums[i];
maxIndex = i;
}
if(i != 0 && i % (k - 1) == 0) {
start = true;
}
if(start) {
while(count > 0) {
if(resultIndex < result.length)
result[resultIndex++] = max;
count--;
}
count = 1;
}
}
return result;
}
결과
하드는 하드네...
처음 부분은 쉬운것 같은데 시작하다가 코드를 짜면 짤수록 더 어려워지는 느낌...
좀 더 개선해야 하겠지만 어제 오늘 시간을 너무 잡아먹어서 일단 여기까지!
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm][Array] 문제 풀이 #11 - Valid Palindrome (0) | 2022.07.20 |
---|---|
[Algorithm][Array] 문제 풀이 #10 - Valid Anagram (0) | 2022.07.20 |
[Algorithm][Array] 문제 풀이 #8 - Search in Rotated Sorted Array II (0) | 2022.07.19 |
[Algorithm][Array] 문제 풀이 #7 - Search in Rotated Sorted Array (0) | 2022.07.18 |
[Algorithm][Array] 문제 풀이 #6 - Maximum Subarray (0) | 2022.07.18 |