package com.likou;
import java.util.Arrays;/**
* 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。
*/
public class test40 {
public staticvoidmain(String[] args){int[] arr = new int[]{3,2,1};int k =2;int[] re = new int[k];
re =getLeastNumbers(arr,k);
System.out.println(Arrays.toString(re));}/**
* 最小的k个数
* @param arr
* @param k
* @return
*/
public staticint[]getLeastNumbers(int[] arr,int k){int[] re = new int[k];// 排序for(int j=1;j<=arr.length;j++){
boolean flag = false;for(int i=0;i<arr.length-j;i++){// 两两比较if(arr[i]>arr[i+1]){int temp =0;
temp = arr[i];
arr[i]= arr[i+1];
arr[i+1]= temp;
flag = true;}}if(!flag){break;}}// 截取前k个值for(int i=0;i<k;i++){
re[i]= arr[i];}return re;}}