@@ -16,45 +16,43 @@ Note:
16
16
You may assume k is always valid, 1 ≤ k ≤ array's length.
17
17
*/
18
18
19
-
20
19
/**
21
20
* @param {number[] } nums
22
21
* @param {number } k
23
22
* @return {number }
24
23
*/
25
- var findKthLargest = function ( nums , k ) {
26
- for ( var i = Math . floor ( nums . length / 2 ) - 1 ; i >= 0 ; i -- ) {
24
+ var findKthLargest = function ( nums , k ) {
25
+ for ( var i = Math . floor ( nums . length / 2 ) - 1 ; i >= 0 ; i -- ) {
27
26
heapify ( nums , nums . length , i ) ;
28
27
}
29
-
30
- for ( var i = nums . length - 1 ; i >= nums . length - k - 1 && i >= 0 ; i -- ) {
28
+
29
+ for ( var i = nums . length - 1 ; i >= nums . length - k - 1 && i >= 0 ; i -- ) {
31
30
swap ( nums , 0 , i ) ;
32
31
heapify ( nums , i , 0 ) ;
33
32
}
34
-
33
+
35
34
return nums [ nums . length - k ] ;
36
- }
35
+ } ;
37
36
38
- var heapify = function ( nums , length , i ) {
37
+ var heapify = function ( nums , length , i ) {
39
38
var left = 2 * i + 1 ;
40
39
var right = 2 * i + 2 ;
41
-
42
- if ( left >= length )
43
- return ;
44
-
45
- if ( nums [ i ] < nums [ left ] && ( right >= length || nums [ left ] > nums [ right ] ) ) {
40
+
41
+ if ( left >= length ) return ;
42
+
43
+ if ( nums [ i ] < nums [ left ] && ( right >= length || nums [ left ] > nums [ right ] ) ) {
46
44
swap ( nums , left , i ) ;
47
45
heapify ( nums , length , left ) ;
48
- } else if ( right < length && nums [ right ] > nums [ i ] ) {
49
- swap ( nums , right , i )
50
- heapify ( nums , length , right )
46
+ } else if ( right < length && nums [ right ] > nums [ i ] ) {
47
+ swap ( nums , right , i ) ;
48
+ heapify ( nums , length , right ) ;
51
49
}
52
- }
50
+ } ;
53
51
54
- var swap = function ( nums , a , b ) {
52
+ var swap = function ( nums , a , b ) {
55
53
const temp = nums [ a ] ;
56
54
nums [ a ] = nums [ b ] ;
57
55
nums [ b ] = temp ;
58
- }
56
+ } ;
59
57
60
58
module . exports . findKthLargest = findKthLargest ;
0 commit comments