zoukankan      html  css  js  c++  java
  • PTA 7-38 寻找大富翁(优先队列的使用)

    本题考点:

    • 优先队列的使用

    胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。

    学会使用优先队列,不仅要会大顶堆(优先队列),也要会小顶堆的使用:

    priority_queue<int, vector<int>, greater<int>> pq;
    

    完整代码如下:

    /* 
        寻找大富翁
            优先队列
     */
    #include <iostream>
    #include <queue>
    using namespace std;
    
    int main()
    {
        int N, M;
        priority_queue<long> pq;
        scanf("%d%d", &N, &M);
        long num;
        while (N--)
        {
            scanf("%ld", &num);
            pq.push(num);
        }
        bool flag = false;
        for (int i = 0; i < M && i < N; i++)
        {
            if(flag) {
                printf(" %d", pq.top());
                pq.pop();
            }else {
                printf("%d", pq.top());
                pq.pop();
                flag = true;
            }
        }
        
        return 0;
    }
    
  • 相关阅读:
    改变字段的值
    创建新的对象
    根据方法的名称来执行方法
    获取类的字段
    获取构造器的信息
    找出类的方法
    开始使用Reflection
    反射简介
    leetcode501
    leetcode235
  • 原文地址:https://www.cnblogs.com/veeupup/p/12672841.html
Copyright © 2011-2022 走看看