zoukankan      html  css  js  c++  java
  • 数据结构与算法题目集(中文)7-38 寻找大富翁 (25分) (sort函数、优先队列进行排序)

    1.题目

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

    输入格式:

    输入首先给出两个正整数N(≤10​6​​)和M(≤10),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空格分隔。

    输出格式:

    在一行内按非递增顺序输出资产排前M位的大富翁的个人资产值。数字间以空格分隔,但结尾不得有多余空格。

    输入样例:

    8 3
    8 12 7 3 20 9 5 18
    

    输出样例:

    20 18 12

    2.题目分析

    1.思路:快排或者堆排序

    2.实现:sort或者priority_queue

    3.注意:N居然还可以小于M 我嘤嘤嘤??

    4.注注意意:sort函数中使用greater<int>():sort(list.begin(), list.end(), greater<int>());是逆序输出

    而priority_queue中greater<int>()是正序输出注意区别

    3.代码

    sort

    #include<iostream>
    #include<cstdio>
    #include<vector>
    #include<functional>
    #include<algorithm>
    using namespace std;
    vector<int>list;
    int main()
    {
    	int n, m;
    	cin >> n >> m;
    	for (int i = 0; i < n; i++)
    	{
    		int temp;
    		scanf("%d", &temp);
    		list.push_back(temp);
    	}
    	sort(list.begin(), list.end(), greater<int>());
    	int count = 0;
    	int count2 = 0;
    	vector<int>::iterator run;
    	for (run = list.begin();count2<m&& run != list.end(); run++)
    	{
    		if (count == 0)
    		{
    			printf("%d", *run); count++;
    		}
    		else
    			printf(" %d", *run);
    		count2++;
    	}
    
    }

    priority_queue

    #include<iostream>
    #include<queue>
    #include<cstdio>
    using namespace std;
    int main()
    {
    	int n, m;
    	cin >> n >> m;
    	priority_queue<int>list;
    	int temp;
    	for (int i = 0; i < n; i++)
    	{
    		scanf("%d",&temp);
    		list.push(temp);
    	}
    	int count = 0;
        if(n<m)m=n;
    	for (int i = 0; i < m; i++)
    	{
    		int temp2 = list.top(); list.pop();
    		if (count == 0)
    		{
    			printf("%d", temp2);
    			count++;
    		}
    		else
    			printf(" %d", temp2);
    	}
    	cout << endl;
    
    }
  • 相关阅读:
    什么是MIME类型
    让IIS支持wml,支持Jad,jar,3gp,mp4的下载
    REEBSD常用命令大全
    nginx的http session管理
    FreeBSD 8.0下给网卡绑定双IP
    firefox、IE下的几个不同属性的方法调用
    如何配置nginx的流量限制
    Nginx 简单的负载均衡配置示例
    DOM信息nodeType的应用
    SSI 的指令及参数
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/12789000.html
Copyright © 2011-2022 走看看