最小K个数


import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

public class Test25 {
	/*
	题目描述
	输入n个整数,输出其中最小的k个。
	详细描述:
	接口说明
	原型:
	bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray);
	输入参数:
	     unsignedint uiInputNum //输入整数个数
	int * pInputArray  //输入整数数组
	unsignedint uiK   //需输出uiK个整数
	输出参数(指针指向的内存区域保证有效):
	    int * pOutputArray //最小的uiK个整数
	返回值:
	        false 异常失败
	          true  输出成功
	 
	 

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

	输出描述:
	输出一个整数数组

	输入例子:
	5 2
	1 3 5 7 2

	输出例子:
	1 2
	思路:就是对输入的数字进行排序,然后取出最小的几个
	第一种方法用List,第二种方法用数组,思路一模一样
	*/
	public static void main(String[] args) {
		Scanner scn=new Scanner(System.in);
		while(scn.hasNext()){
			int n=scn.nextInt();
			int k=scn.nextInt();
			int[] a=new int[n];
			for (int i = 0; i < a.length; i++) {
				a[i]=scn.nextInt();
			}
			getMinK(n,k,a);
		}
	}
	
	public static void getMinK(int n,int k,int[] a){
		Arrays.sort(a);
		for (int i = 0; i < k-1; i++) {
			System.out.print(a[i]+" ");
		}
		System.out.println(a[k-1]);
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值