剑指Offer--最小的K个数--java
题目描述
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
解题思路:
先采用冒泡法对数组进行排序,然后遍历输出
冒泡法
代码如下:
import java.util.*;
public class Solution {
public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
ArrayList<Integer> list=new ArrayList<Integer>();
int n=input.length;
for(int i=n;i>0;i--){
for(int j=0;j<i-1;j++){
if(input[j]>input[j+1]){
int temp=input[j+1];
input[j+1]=input[j];
input[j]=temp;
}
}
}
if(k>n){
return list;
}else{
for(int i=0;i<k;i++){
list.add(input[i]);
}
return list;
}
}
}