mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
@ -405,6 +405,11 @@ class Heap {
|
||||
|
||||
// 获取堆顶元素并移除
|
||||
pop() {
|
||||
// 边界情况,只有一个元素或没有元素应直接弹出
|
||||
if (this.size() <= 1) {
|
||||
return this.queue.pop()
|
||||
}
|
||||
|
||||
// 堆顶元素
|
||||
const out = this.queue[0];
|
||||
|
||||
@ -416,7 +421,7 @@ class Heap {
|
||||
let left = 1; // left 是左子节点下标 left + 1 则是右子节点下标
|
||||
let searchChild = this.compare(left, left + 1) > 0 ? left + 1 : left;
|
||||
|
||||
while (searchChild !== undefined && this.compare(index, searchChild) > 0) { // 注意compare参数顺序
|
||||
while (this.compare(index, searchChild) > 0) { // 注意compare参数顺序
|
||||
[this.queue[index], this.queue[searchChild]] = [this.queue[searchChild], this.queue[index]];
|
||||
|
||||
// 更新下标
|
||||
@ -608,3 +613,4 @@ impl Solution {
|
||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||
</a>
|
||||
|
||||
|
Reference in New Issue
Block a user