必备知识

// 创建一个最大堆(默认)
    priority_queue<int> maxHeap;

    // 创建一个最小堆
    priority_queue<int, vector<int>, greater<int>> minHeap;

示例代码

class Solution {
public:
    int lastStoneWeight(vector<int>& stones) {
        //创建一个最大堆(默认)
        priority_queue<int> q;
        for(int s:stones){
            q.push(s);
        }

        while(q.size()>1){
            int a=q.top();
            q.pop();
            int b=q.top();
            q.pop();
            if(a>b){
                q.push(a-b);
            }
        }
        return q.empty()?0:q.top();


    }
};

效果展示

LeetCode---1046.最后一块石头的重量_示例代码