2017 校招真题(数组)
来源:互联网 发布:怎么与isp网络签署协议 编辑:程序博客网 时间:2024/06/06 05:03
1 找出n个数里最小的k个
输入描述:
每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n不超过100。
输出描述:
输出n个整数里最小的k个数。升序输出
示例1
输入
3 9 6 8 -10 7 -11 19 30 12 23 5
输出
-11 -10 3 6 7
#include<iostream>#include<vector>#include<queue>using namespace std;int main() { //使用优先级队列维护一个大顶锥 vector<int> input; int temp; while(cin>>temp) { input.push_back(temp); } int n=input.size(); int k=input[n-1]; if(k>n-1) { cout<<0<<endl; return 0; } priority_queue<int> que; for(int i=0;i<n-1;i++) { if(i<k) que.push(input[i]); else{ if(que.top()>input[i]) { que.pop(); que.push(input[i]); } } } int m=que.size(); vector<int> res(m,0); int i=m-1; while(!que.empty()) { res[i--]=que.top(); que.pop(); } for(int i=0;i<m;i++) { cout<<res[i]; if(i<m-1) cout<<' '; } cout<<endl; return 0;}
阅读全文
0 0
- 2017 校招真题(数组)
- 数组的数组(变长数组)
- 交错数组 (齿轮数组、数组中的数组)
- 数组(一维数组)
- vba 数组(动态数组)
- 对象数组(动态数组)
- 零长数组(柔性数组)
- 变长数组(动态数组)
- 数组反转(整型数组)
- 数组(2)二维数组
- 数组(4)数组排序
- 类数组(伪数组)
- 数组(三)--打印数组
- 数组(十)--二维数组
- 构建乘积数组(数组)
- *数组名(数组元素) 与*数组名(指针数组中的数组名)
- C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用
- Java 数组类型(基本类型数组类型、封装类型数组类型、数组的数组类型)
- 欢迎使用CSDN-markdown编辑器
- Spring5源码解析-@Autowired
- ACE实现SSDP设备发现
- SLF4J源码解析-LoggerFactory(一)
- 如何将服务器中的图片显示出来并实现删除。
- 2017 校招真题(数组)
- 不用Linux也可以的强大文本处理方法
- opencv二维码识别解码
- 安卓,弹出选项框从相册相机中选择图片并显示。动态权限的处理,附源代码。
- 简单的golang Web服务
- STM32F407外扩SRAM配置
- extjs里面 Ext.Window ,的window放一个URL从新跳转一个页面
- 子序列个数 (DP)
- 欢迎使用CSDN-markdown编辑器