Java算法题:最小的K个数

讨论 Rambo_gor
Lv5 宗师级炼丹师
发布在 Java编程   962   0
讨论 Rambo_gor   962   0

    题目描述

    输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。

    实现方式

    import java.util.ArrayList;
    public class Solution {
      public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
            int t;
        boolean flag;
        ArrayList result = new ArrayList();
        if(k>input.length){
          return result;
        }
        for(int i =0;i<input.length;i++){
          flag = true;
          for(int j = 0; j < input.length-i;j++)
            if(j<input.length-i-1){
              if(input[j] > input[j+1]) {
                t = input[j];
                input[j] = input[j+1];
                input[j+1] = t;
                flag = false;
              }
            }
          if(flag)break;
        }
        for(int i = 0; i < k;i++){
          result.add(input[i]);
        }
        return result;
      }
    }
    
    版权声明:作者保留权利,不代表意本站立场。如需转载请联系本站以及作者。

    参与讨论

    回复《 Java算法题:最小的K个数

    EditorJs 编辑器

    沙发,很寂寞~
    反馈
    to-top--btn