首页 > 试题广场 >

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

[编程题]输入n个整数,输出其中最小的k个
  • 热度指数:182610 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入n个整数,找出其中最小的k个整数并按升序输出

本题有多组输入样例

数据范围: ,输入的整数满足

输入描述:

第一行输入两个整数n和k
第二行输入一个整数数组



输出描述:

从小到大输出最小的k个整数,用空格分开。

示例1

输入

5 2
1 3 5 7 2

输出

1 2
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int k = in.nextInt();
        int [] arr = new int[n];
        for(int i = 0; i < n; i++){
            arr[i] = in.nextInt();
        }
        Arrays.sort(arr);
        for(int i = 0; i < k; i++)
            System.out.print(arr[i]+" ");
    }
}

发表于 2023-11-25 20:26:46 回复(0)
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int k=sc.nextInt();
        int[]arr=new int[n];
        //获取完n和k的值后,键入的数字全部存入数组。
        while(sc.hasNext()==true){
            for(int i1=0;i1<n;i1++){
            arr[i1]= sc.nextInt();
            }
            }
       
        //冒泡法在数组中从小到大排序
        int c;
        for(int j=1;j<n-1;j++){
        for(int i2=0;i2<n-j;i2++){
           if(arr[i2]<arr[i2+1]){   }
            else{
                c=arr[i2];
                arr[i2]=arr[i2+1];
                arr[i2+1]=c;
            }
        }
        }
        for(int i3=0;i3<k-1;i3++){
             System.out.print(arr[i3]+" ");
        }
       System.out.print(arr[k-1]);
     
    }
}
发表于 2023-10-20 10:08:58 回复(0)
import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int k = in.nextInt();

        List<Integer> value = new ArrayList(n);

        while (n > 0) {
            value.add(in.nextInt());
            n--;
        }
        value.stream().sorted().limit(k).forEach(s -> System.out.printf(s +  " "));
    }
}
发表于 2023-10-12 17:03:25 回复(0)
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int k = in.nextInt();
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            list.add(in.nextInt());
        }
        Collections.sort(list);
        for (int i = 0; i < k; i++) {
            System.out.print(list.get(i) + " ");
        }
    }
}
发表于 2023-08-28 14:41:00 回复(0)
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringJoiner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        String line2 = br.readLine();

        int n = Integer.parseInt(line.split(" ")[0]);
        int k = Integer.parseInt(line.split(" ")[1]);

        int[] numbers = new int[n];
        String[] split = line2.split(" ");
        for (int i = 0; i < split.length; i++) {
            int num = Integer.parseInt(split[i]);
            numbers[i] = num;
        }

        // 数组排序
        Arrays.sort(numbers);

        // 输出前k个
        StringJoiner sj = new StringJoiner(" ", "", "");
        for (int i = 0; i < Math.min(n, k); i++) {
            sj.add(String.valueOf(numbers[i]));
        }

        System.out.println(sj);
    }
}

发表于 2023-08-10 16:16:08 回复(0)
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int n=in.nextInt();
        int k=in.nextInt();
        ArrayList<Integer> list=new ArrayList<>();
        for(int i=0;i<n;i++){
            list.add(in.nextInt());
        }
        Collections.sort(list);
        for(int i=0;i<k;i++){
            System.out.print(list.get(i)+" ");
        }
    }
}

发表于 2023-06-02 17:04:40 回复(0)
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int a = in.nextInt();
        int k = in.nextInt();
        int[] arr = new int[a];
        for (int i = 0; i < a; i++) {
            arr[i] = in.nextInt();
        }
        Arrays.sort(arr);
        for (int j = 0; j < k; j++) {
            System.out.print(arr[j] + " ");
        }
    }
}

发表于 2023-06-01 15:02:59 回复(0)
//程序异常退出, 请检查代码"是否有数组越界等异常"或者"是否有语法错误。
//不知道是哪里出了问题,有大佬教教我吗
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int k = in.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = in.nextInt();
        }
        for (int i = 1; i < n; i++) {
            for (int j = i-1; j >= 0 && arr[j]> arr[j+1]; j++) {
                swap (arr, j, j+1);
            }
        }
        for (int i = 0; i < k; i++) {
            System.out.print(arr[i] + " ");
        }
    }
    public static void swap(int[] arr, int i, int j) {
        int tmp = arr[i];
        arr[j] = arr[i];
        arr[i] = tmp;
    }
}

发表于 2023-03-06 15:35:30 回复(2)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            int n = in.nextInt();
            int k = in.nextInt();
            int[] array = new int[n];
            for (int i = 0; i < n; i++) {
                array[i] = in.nextInt();
            }
            Arrays.sort(array);
            for (int i = 0; i < k; i++) {
                System.out.print(array[i] + " ");
            }
        }
    }
}
发表于 2023-03-06 15:29:42 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            int k = in.nextInt();
            int[] arr = new int[n];
            for(int i = 0; i < n; i++){
                arr[i] = in.nextInt();
            }
            StringBuilder sb = new StringBuilder();
            for(int i = 0; i < k; i++){
                int idx = i;
                for(int j = i + 1; j < n; j++){
                    if(arr[idx] > arr[j]){
                        idx = j;
                    }
                }
                if(idx != i){
                    int t = arr[i];
                    arr[i] = arr[idx];
                    arr[idx] = t;
                }
                sb.append(" ").append(arr[i]);
            }
            System.out.println(sb.length() > 0 ? sb.delete(0, 1) : "");
        }
    }
}
发表于 2023-02-16 08:51:16 回复(0)
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int numCount = in.nextInt();
		int outputCount = in.nextInt();
		List<Integer> inputList = new ArrayList<>(numCount);
		for (int i = 0; i < numCount; i++) {
			inputList.add(in.nextInt());
		}
		Collections.sort(inputList);
		for (int i = 0; i < outputCount; i++) {
			System.out.print(inputList.get(i) + " ");
		}
    }
}

发表于 2023-02-14 21:41:15 回复(0)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String l1 = br.readLine();
        String l2 = br.readLine();
        String[] s1 = l1.split(" ");
        String[] s2 = l2.split(" ");
        int n = Integer.parseInt(s1[0]);
        int k = Integer.parseInt(s1[1]);

        ArrayList<Integer> arr = new ArrayList<Integer>(n);
        int e;
        for(int i = 0; i < n; i++){
            e = Integer.parseInt(s2[i]);
            arr.add(e);
        }
        Collections.sort(arr);
        for(int i = 0; i < k; i++){
            System.out.printf( "%d ", arr.get(i));
        }
    }
}

发表于 2022-08-31 17:24:45 回复(0)
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        String[] strs = in.nextLine().split(" ");
        int n = Integer.parseInt(strs[0]);
        int m = Integer.parseInt(strs[1]);        
        
        PriorityQueue<Integer> queue = new PriorityQueue();
        String[] str = in.nextLine().split(" ");
        for(int i=0; i<str.length; i++){
            queue.add(Integer.parseInt(str[i]));
        }
        for(int i=0; i<m; i++){
            System.out.print(queue.poll() + " ");
        }
    }
}

发表于 2022-08-05 20:08:41 回复(0)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n=sc.nextInt();
            int k=sc.nextInt();
            int[] arr = new int[n];
            for(int i=0;i<n;i++){
                arr[i]=sc.nextInt();
            }
            Arrays.sort(arr);//懒得手写排序了
            for(int i=0;i<k-1;i++){
                System.out.print(arr[i]+" ");
            }
            System.out.println(arr[k-1]);//最后一位输出记得换行
        }
        
    }
}

发表于 2022-07-30 15:26:56 回复(0)
import java.util.*;
//使用冒泡排序
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        int[] array = new int[n];
        for(int i = 0;i<n;i++){
            array[i] = sc.nextInt();
//             System.out.print(array[i]+" ");
        }
        for(int i = 0;i<array.length;i++){
            for(int j = 0;j<array.length-i-1;j++){
                if(array[j]>array[j+1]){
                    int temp = array[j];
                    array[j]=array[j+1];
                    array[j+1]=temp;
                }
            }
        }
        for(int i = 0;i<k;i++){
            System.out.print(array[i]+" ");
        }
    }
}
发表于 2022-07-06 15:42:25 回复(0)
同样的不知道考点是啥,我感觉这道题应该是在考排序算法,但实际上工具类比排序算法时间要短,内存要少,迷茫了
发表于 2022-05-17 13:55:23 回复(1)
可能我一开始理解题意错了, 我理解为其中最小的k个数,不允许重复元素,于是采用了TreeSet去重的方式,结果测试不能完全通过!
后来发现,本题的答案是允许重复元素出现的!

public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            int n=sc.nextInt();
            int k=sc.nextInt();
            TreeSet ts=new TreeSet<Integer>();
            while(n!=0){
                ts.add(sc.nextInt()+" ");
                n--;
            }
            k=k<=ts.size()?k:ts.size();
            
            while(k!=0){
                System.out.print(ts.pollFirst());
                k--;
            }
            
        }
        sc.close();
    }
发表于 2022-04-22 17:46:00 回复(0)
import java.util.Scanner;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), k = sc.nextInt();
        int[] list = new int[n];
        for (int i = 0; i < n; i++) {
            list[i] = sc.nextInt();
        }
        String orderedStr = subArr(list, k);
        System.out.println(orderedStr);
    }
    
    public static String subArr(int[] arr, int len) {
        Arrays.sort(arr);
        StringBuilder subStr = new StringBuilder();
        for (int i = 0; i < len; i++) {
            subStr.append(arr[i]).append(" ");
        }
        return subStr.toString();
    }
}

发表于 2022-04-13 16:09:50 回复(0)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class PrintMinNum {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] fisrtLine = br.readLine().split(" ");
        int n = Integer.parseInt(fisrtLine[0]);
        int k = Integer.parseInt(fisrtLine[1]);
        String[] secLine = br.readLine().split(" ");

        for (int i = 0; i < secLine.length - 1 ; i++) {
            boolean flag = true;
            for (int j = 0; j < secLine.length - 1 - i; j++) {
                int a = Integer.parseInt(secLine[j]);
                int b = Integer.parseInt(secLine[j+1]);
                if ( a > b){
                    flag = false;
                    String temp = secLine[j];
                    secLine[j] = secLine[j+1];
                    secLine[j+1] = temp;
                }
            }
            if (flag){
                break;
            }
        }

        for (int i = 0; i < k; i++) {
            System.out.print(secLine[i] + " ");
        }
    }
}

发表于 2022-04-12 22:42:17 回复(0)
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int min = sc.nextInt();
        int[] ints = new int[num];
        while (num > 0) {
            ints[num - 1] = sc.nextInt();
            num--;
        }
        Arrays.sort(ints);
        for (int i = 0; i < min; i++) {
            System.out.print(ints[i] + " ");
        }
    }
}

发表于 2022-03-24 16:55:27 回复(0)