描述

输入n个整数,输出其中最小的k个。

详细描述:

接口说明

原型:

bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray);

输入参数:

unsignedint uiInputNum //输入整数个数

int * pInputArray  //输入整数数组

unsignedint uiK   //需输出uiK个整数

输出参数(指针指向的内存区域保证有效):

int * pOutputArray //最小的uiK个整数

返回值:

false 异常失败

true  输出成功

知识点 循环,数组
运行时间限制 10M
内存限制 128
输入

输入说明 
1 输入两个整数 
2 输入一个整数数组

输出

输出一个整数数组

样例输入 5 2 1 3 5 7 2
样例输出 1 2
package com.oj;

import java.util.Scanner;
public class Test {
public static void sinkDown(int[] data,int k,int length){
while(2*k<=length){
int maxpos = 2*k;
if(data[maxpos]>data[maxpos+1])
maxpos += 1;
if(data[k]>data[maxpos]){
int temp = data[maxpos];
data[maxpos] = data[k];
data[k] = temp;
k = maxpos;
}else
break;
}
} public static void deleteMin(int[] data,int length){
System.out.print(data[1]);
data[1] = data[length];
length--;
sinkDown(data,1,length);
} public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] numstr = in.nextLine().split(" ");
int num = Integer.parseInt(numstr[0]);
int n = Integer.parseInt(numstr[1]);
String[] datastr = in.nextLine().split(" ");
int[] data = new int[datastr.length+1];
//System.out.println("hello ");
for(int i = 1;i <= num; i++)
data[i] = Integer.parseInt(datastr[i-1]); for(int i = num/2;i >= 1; i--)
sinkDown(data,i,data.length);
for(int i = 1;i <= n; i++){
deleteMin(data,data.length-i);
if(i!=n)
System.out.print(" ");
else
System.out.println();
}
System.out.println();
// for(int i = 1; i <= (num-n) ; i++)
// System.out.print(data[i]+" ");
}
}

  

最新文章

  1. NOIP提高模拟题 完全平方数
  2. 【转】ACM博弈知识汇总
  3. redis删除list中指定index的值
  4. BZOJ 3809 莫队+(分块|BIT)
  5. CDN(内容分发网络)技术原理
  6. 【iOS问题】The file “XXX.app” couldn’t be opened because you don’t have permission to view it.
  7. ecshop退款订单原理分析
  8. RTL2832U+R820电视棒跟踪飞机轨迹教程(ADS-B)
  9. set与hash_set
  10. orcale 修改字段属性
  11. 无法加载协定为“ServiceReference1.ReportWsSoap”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。
  12. golang 学习笔记
  13. 鼠标滚动事件 - onmousewheel
  14. 转:iOS开发之多种Cell高度自适应实现方案的UI流畅度分析
  15. Java虚拟机16:Metaspace
  16. 小程序后端项目【Springboot框架】部署到阿里云服务器【支持https访问】
  17. 关于Python深浅拷贝
  18. 分布式队列神器 Celery
  19. ubuntu下安裝sogou拼音
  20. .net 报错汇总——持续更新

热门文章

  1. JQuery 定时器 (Jquery Timer 插件)
  2. Redis的几个认识误区
  3. 分享Kali Linux 2016.2第43周镜像
  4. 个人js类库mycool
  5. Android 自动化测试—robotium(七) 使用Junit_report测试报告
  6. js中for in 和 for each in的用法和区别
  7. EF框架step by step(6)—处理实体complex属性
  8. Drawing Arc Using ArcSegment in XAML
  9. IP地址分类整理
  10. 【BZOJ】1086: [SCOI2005]王室联邦