File tree Expand file tree Collapse file tree 1 file changed +18
-18
lines changed
src/main/java/com/fishercoder/solutions Expand file tree Collapse file tree 1 file changed +18
-18
lines changed Original file line number Diff line number Diff line change 5
5
public class _239 {
6
6
7
7
public static class Solution1 {
8
- public int [] maxSlidingWindow (int [] nums , int k ) {
9
- int n = nums .length ;
10
- if (n == 0 ) {
11
- return nums ;
12
- }
13
- int [] result = new int [n - k + 1 ];
14
- LinkedList <Integer > dq = new LinkedList <>();
15
- for (int i = 0 ; i < n ; i ++) {
16
- if (!dq .isEmpty () && dq .peek () < i - k + 1 ) {
17
- dq .poll ();
18
- }
19
- while (!dq .isEmpty () && nums [i ] >= nums [dq .peekLast ()]) {
20
- dq .pollLast ();
8
+ public int [] maxSlidingWindow (int [] nums , int k ) {
9
+ int n = nums .length ;
10
+ if (n == 0 ) {
11
+ return nums ;
21
12
}
22
- dq .offer (i );
23
- if (i - k + 1 >= 0 ) {
24
- result [i - k + 1 ] = nums [dq .peek ()];
13
+ int [] result = new int [n - k + 1 ];
14
+ LinkedList <Integer > dq = new LinkedList <>();
15
+ for (int i = 0 ; i < n ; i ++) {
16
+ if (!dq .isEmpty () && dq .peek () < i - k + 1 ) {
17
+ dq .poll ();
18
+ }
19
+ while (!dq .isEmpty () && nums [i ] >= nums [dq .peekLast ()]) {
20
+ dq .pollLast ();
21
+ }
22
+ dq .offer (i );
23
+ if (i - k + 1 >= 0 ) {
24
+ result [i - k + 1 ] = nums [dq .peek ()];
25
+ }
25
26
}
27
+ return result ;
26
28
}
27
- return result ;
28
29
}
29
- }
30
30
}
You can’t perform that action at this time.
0 commit comments