File tree 4 files changed +45
-2
lines changed
_Problems_/k-smallest-in-array
4 files changed +45
-2
lines changed Original file line number Diff line number Diff line change 1
- const MaxHeap = require ( '../../_DataStructures_/Heaps/ MaxHeap' ) ;
1
+ const MaxHeap = require ( '../MaxHeap' ) ;
2
2
3
3
/**
4
4
* Find the 4 largest elements from an array
Original file line number Diff line number Diff line change
1
+ /**
2
+ * Find 4 smallest elements in an array
3
+ */
4
+
5
+ const MinHeap = require ( '../MinHeap' ) ;
6
+
7
+ function findKSmallest ( collection , k ) {
8
+ if ( ! collection || ! Array . isArray ( collection ) ) {
9
+ throw new Error ( 'Invalid / missing collection' ) ;
10
+ }
11
+
12
+ // create a MinHeap using the collection
13
+ const mh = new MinHeap ( collection ) ;
14
+ const result = [ ] ;
15
+ for ( let i = 0 ; i < k ; i += 1 ) {
16
+ result . push ( mh . getMin ( ) ) ;
17
+ }
18
+ return result ;
19
+ }
20
+
21
+ module . exports = findKSmallest ;
Original file line number Diff line number Diff line change
1
+ const MaxHeap = require ( '../MaxHeap' ) ;
2
+
3
+ /**
4
+ * Find the 4 largest elements from an array
5
+ */
6
+
7
+ function findKLargest ( collection , k ) {
8
+ if ( ! collection || ! Array . isArray ( collection ) ) {
9
+ throw new Error ( 'Invalid / missing collection' ) ;
10
+ }
11
+
12
+ // create a MaxHeap using the collection
13
+ const mh = new MaxHeap ( collection ) ;
14
+ const result = [ ] ;
15
+
16
+ for ( let i = 0 ; i < k ; i += 1 ) {
17
+ result . push ( mh . getMax ( ) ) ;
18
+ }
19
+ return result ;
20
+ }
21
+
22
+ module . exports = findKLargest ;
Original file line number Diff line number Diff line change 2
2
* Find 4 smallest elements in an array
3
3
*/
4
4
5
- const MinHeap = require ( '../../_DataStructures_/Heaps/ MinHeap' ) ;
5
+ const MinHeap = require ( '../MinHeap' ) ;
6
6
7
7
function findKSmallest ( collection , k ) {
8
8
if ( ! collection || ! Array . isArray ( collection ) ) {
You can’t perform that action at this time.
0 commit comments