求n个数中前k个数,按之前的顺序输出(HK IPM)
For smaller k:
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <list>
#include <stack>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <algorithm>
#include <iostream>
using namespace std;
#define ll long long
const long maxn=1e6+;
const ll mod=1e9+;
#define inf 1e9 struct cmp
{
bool operator() (pair<long long,long> a,pair<long long,long> b)
{
return a.first < b.first;
}
}; bool cmp1(pair<long long,long> a,pair<long long,long> b)
{
return a.second < b.second;
} priority_queue<pair<long long,long>,vector<pair<long long,long> >, cmp> f;
pair<long long,long> pr[maxn]; int main()
{
long n,k,i,g;
long long a;
scanf("%ld%ld",&n,&k);
for (i=;i<=n;i++)
{
scanf("%lld",&a);
f.push(make_pair(a,i));
if (i>k)
f.pop();
}
g=;
while (!f.empty())
{
pr[g]=f.top();
g++;
f.pop();
}
sort(pr,pr+g,cmp1);
for (i=;i<g;i++)
printf("%lld\n",pr[i].first);
return ;
}
求n个数中前k个数,按之前的顺序输出(HK IPM)的更多相关文章
- 谷歌面试题:输入是两个整数数组,他们任意两个数的和又可以组成一个数组,求这个和中前k个数怎么做?
谷歌面试题:输入是两个整数数组,他们任意两个数的和又可以组成一个数组,求这个和中前k个数怎么做? 分析: "假设两个整数数组为A和B,各有N个元素,任意两个数的和组成的数组C有N^2个元素. ...
- 输入3个数a,b,c,按大小顺序输出
题目:输入3个数a,b,c,按大小顺序输出 package com.li.FiftyAlgorthm; import java.util.Scanner; /** * 题目:输入3个数a,b,c,按大 ...
- 输入3个数a,b,c,按大小顺序输出。
题目:输入3个数a,b,c,按大小顺序输出. 思路: 根据最简单的, 经典的C语言算法, 两两相互交换得到他们的顺序 public class 第三十四题abc三个数大小排序 { public sta ...
- 代码实现:输入3个数a,b,c,按大小顺序输出。
import java.util.Arrays; import java.util.Scanner; //输入3个数a,b,c,按大小顺序输出. public class Test34 { publi ...
- vijos 1128 N个数选K个数 (DFS )
从 n 个整数中任选 k 个整数相加,可分别得到一系列的和 要求你计算出和为素数共有多少种 IN4 33 7 12 19 OUT1 # include <iostream> # inclu ...
- 最大/最小de K个数/第K个数
题目 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 思路 堆排序 收获 用优先队列实现最大最小堆 注意下列代码中优先队列 ...
- 寻找最小(最大)的k个数
题目描述:输入n个整数,输出其中最小的k个元素. 例如:输入1,2,3,4,5,6,7,8这8个数字,则最小的4个数字为1,2,3,4. 思路1:最容易想到的方法:先对这个序列从小到大排序,然后输出前 ...
- 剑指offer面试题30:最小的k个数
一.题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 二.解题思路 1.思路1 首先对数组进行排序,然后取出前k个数 ...
- 找到n中最小的k个数
题目:n个数中,求最小的前k个数. 这道题在各个地方都看到过,在国内出现的频率也非常高. 面完阿里回来听说这道题又被考了,所以还是决定回来写一写,对于这种高频题...顺便再吐槽一下阿里的面试,我竟然一 ...
随机推荐
- DWR、Comet4j在Nginx+Tomcat组合下的优化
DWR.Comet4j这类推送框架在Tomcat下运行正常,但在nginx+tomcat组合下,可能会出现断连.延迟等各种问题. 如出现此类问题,可尝试以下优化方式: 1.Nginx-----ngin ...
- OO学习第一阶段总结
前言 虽然之前接触过java,也写过一些1000行左右的程序.可以说面向对象的思想和java的一些基本语法对我来说是没有难度的,但是这学期的面向对象依然给了我一个下马威.这几次的作业每次都很让我头疼. ...
- class 3 求数组中的最大值(单元测试)
1.问题引出: int Largest(int list[], int length) { int i,max; ; i < (length – ); i ++ ) { if(list[i] & ...
- roject ..\appcompat_v7 is missing. Needed by eclipse 转AS项目时遇到的问题
参考的 http://www.cnblogs.com/vanezkw/p/4182917.html 去转换项目, 在第一步的时候就遇到问题 ,提示 missing 而那个又是兼容包 解决方法:项目右键 ...
- 【转】Verilog HDL常用建模方式——《Verilog与数字ASIC设计基础》读书笔记(四)
Verilog HDL常用建模方式——<Verilog与数字ASIC设计基础>读书笔记(四) Verilog HDL的基本功能之一是描述可综合的硬件逻辑电路.所谓综合(Synthesis) ...
- NBA篮球足球在线直播插件下载
PPlive:点此下载PPLive播放器 Sopcast:点此下载Sopcast播放器 UUSee:点此下载UUSee播放器 CCTVReg:点此下载CCTV插件 PPStream:点此下载PPstr ...
- 关于Keil C关键字xdata和data的问题
1.xdata表示这是一个外部RAM地址内的数据,数据最终将被保存至外部RAM的某个地址单元中:但是,外部RAM只能通过寄存器间接寻址来访问,也就是说,其地址需要保存在内部RAM中(其实或许是SFR中 ...
- TCP系列52—拥塞控制—15、前向重传与RACK重传拥塞控制处理对比
一.概述 这里主要简单分析一个丢包重传并恢复的场景,通过不同的设置让这个相同的场景分别触发RACK重传和前向重传,通过对比说明以下问题: Forward Retransmit可以产生只有重传标记的数据 ...
- 6th Alpha阶段的postmortem报告
组名:好好学习(代组长发布) 会议重要内容记录: 1. 尝试在beta阶段实现的功能,与alpha阶段相比的优势 (1)更改软件现有的bug: 1)软件的账目只能输入,但是一旦发生失误却无法更改和 ...
- Workstation和Virtualbox的虚拟机磁盘扩容方式.
1. 虚拟机磁盘管理, 更改磁盘格式是一个场景 还有一个场景是 硬盘空间不够了 需要扩充. 方法主要有两个. 如果是workstation的的虚拟机. 并且没有快照 可以直接GUI操作 如下图: 虚拟 ...