题解 | #输入n个整数,输出其中最小的k个#

输入n个整数,输出其中最小的k个

https://www.nowcoder.com/practice/69ef2267aafd4d52b250a272fd27052c

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in =new Scanner(System.in);
        String str = in.nextLine();
        String str1 = in.nextLine();
        String[] list1 = str.split(" ");
        int i = Integer.parseInt(list1[0]);
        int j = Integer.parseInt(list1[1]);
        if (i<=j){
            System.out.println(str1);
        }else if (j<=0){
            System.out.println();
        } else{
            String[] list2 = str1.split(" ");
            int[] list = new int[list2.length];
            for (int i1 = 0; i1 < list2.length; i1++) {
                list[i1]=Integer.parseInt(list2[i1]);
            }
            for (int a=0;a<list.length;a++){
                int current = list[a];
                int minIndex = a;
                for (int b = a+1;b<list.length;b++){
                    if (list[b]<current){
                        current = list[b];
                        minIndex=b;
                    }
                }
                if (minIndex!=a){
                    int flag = list[a];
                    list[a] = list[minIndex];
                    list[minIndex]=flag;
                }
            }
            System.out.print(list[0]);
            for (int k=1;k<j;k++){
                System.out.print(" "+list[k]);
            }
        }
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务