zoukankan      html  css  js  c++  java
  • 28.找出最的几位数

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

    题很简单,就是找到小的就交换到前面去,并且添加到list。

    原数组作为容器交换的话,我想的是不动原数组,就用了clone方法。

    毕竟一个查询方法,完了之后改变了原数组的顺序,不太好。

    注意判断要取得数目大于数组长度的情况;

    import java.util.ArrayList;
    
    public class Solution {
        public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
                ArrayList<Integer> list = new ArrayList<>();
               if(input.length < k) {
                   return list;
                }
            
                int[] array = input.clone();
    
                int temp = 0;
                
                for(int i = 0; i < k; i++){
                    int min = i;
                    for(int j = i ;j < array.length; j++) {
                        if(array[min] > array[j]) {
                            min = j;
                        }
                    }
                    temp = array[i];
                    array[i] = array[min];
                    array[min] = temp;
                    list.add(array[i]);
                }
               return list;
        }
    }
  • 相关阅读:
    VS与ultraedit 正则表达式替换
    Java学习第十七天
    Java学习第十六天
    Java学习第十五天
    Java学习第十四天
    Java学习第十三天
    Java学习第十二天
    Java学习第十一天
    Java学习第十天
    Java学习第九天
  • 原文地址:https://www.cnblogs.com/wzQingtTian/p/10664368.html
Copyright © 2011-2022 走看看