1
var getKth = function (lo, hi, k) {5
for (let num = lo; num <= hi; ++num) {6
powerVals.push([num, findPowerVal(num, dp)]);8
const heap = new MinHeap();13
top = heap.removeTop();18
function findPowerVal(num, dp) {24
powerVal = findPowerVal(num / 2, dp) + 1;26
powerVal = findPowerVal(3 * num + 1, dp) + 1;28
dp.set(num, powerVal);33
constructor(property) {37
return this.data.length;42
for (let i = Math.floor((this.size() - 1) / 2); i >= 0; --i) {48
const left = 2 * i + 1,51
if (left < this.size() && this.compare(left, p)) {54
if (right < this.size() && this.compare(right, p)) {58
[this.data[p], this.data[i]] = [this.data[i], this.data[p]];64
if (this.size() === 1) {65
return this.data.pop();67
const top = this.data[0];68
[this.data[0], this.data[this.size() - 1]] = [69
this.data[this.size() - 1],78
class MinHeap extends Heap {84
this.data[a][1] < this.data[b][1] ||85
(this.data[a][1] === this.data[b][1] && this.data[a][0] < this.data[b][0])