首页 > 试题广场 >

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

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

本题有多组输入样例

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

输入描述:

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



输出描述:

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

示例1

输入

5 2
1 3 5 7 2

输出

1 2
让我来试试这道通过率30多的入门题!
n,k = map(int,input().split())
num = sorted(map(int,input().split()))
for i in range(k):
    print(num[i],end=' ')


发表于 2024-09-19 17:03:17 回复(0)
from heapq import heappush, heappop

n, k = map(int, input().split())
nums = []

for i in [int(inp) for inp in input().split()]:
    heappush(nums, i)

ret = [heappop(nums) for i in range(k)]

for i in ret:
    print(i, end=' ')
使用堆。
发表于 2024-05-18 13:12:59 回复(0)
n, k = list(map(int,input().split()))
nums = list(map(int,input().split()))
nums = sorted(nums)
for i in nums[:k]:
    print(i,end=" ")

编辑于 2024-03-14 19:55:32 回复(0)
n, k = map(int, input().split())

arr = input()
arr = arr.split()

final_arr = []

min_num = min(arr)
min_arg = arr.index(min_num)

for i in range(k):
    final_arr.append(min_num)
    arr.pop(min_arg)
    min_num = min(arr)
    min_arg = arr.index(min_num)
    print(final_arr[i], end=' ')
编辑于 2024-02-26 15:10:33 回复(0)
while True:
    try:
        a,b = [int(x) for x in input().split()]
        num_list = [int(x) for x in input().split()]
        if len(num_list) > a: break
        else:
            num_list = sorted(num_list)[:b]
            for i in num_list:
                print(i,end=" ")
    except:
        break

发表于 2023-11-08 18:58:57 回复(0)
str_ = str(input()).split(' ')
n, k = int(str_[0]), int(str_[1])
num_list = input().split(' ')
num_list = [int(x) for x in num_list]
num_list.sort()
print(' '.join(str(x) for x in num_list[:k]))

发表于 2023-10-22 19:45:40 回复(1)
k = int(input().split()[1])
array = sorted(list(map(int,input().split())))
print(' '.join(list(map(str,array[:k]))))

发表于 2023-09-25 14:30:42 回复(0)
n,k = input().split()
s = input().split()
s = sorted(s)
for i in s[:int(k)]:
    print(i,end=' ')

发表于 2023-08-24 21:30:25 回复(0)

将列表numbers传递给sorted()函数,并将排序后的结果赋值给变量sorted_numbers。输出结果表明,默认情况下,sorted()函数对列表中的整数按照升序进行了排序。

需要注意的是,sorted()函数不会修改原始的可迭代对象,而是返回一个新的已排序的副本。如果你希望对原始对象进行排序,可以使用list.sort()方法。

如果你想要按照降序(从大到小)的顺序进行排序,可以通过传递reverse=True参数来实现

n, k = list(map(int, input().split()))
num = list(map(int, input().split()))
num = sorted(num)
for i in num[:k]:
    print(i, end=" ")

发表于 2023-08-22 11:38:33 回复(0)

//使用另一种循环方式,不能使用range函数,使用range函数可能会不输出相等的值

while True:

try:

    n,k = list(map(int,input().split()))

    num = list(map(int,input().split()))

    num = sorted(num)

    for i in num[:k]:

        print(i,end=" ")

except:

    break
发表于 2023-08-20 14:09:58 回复(0)
//之前忘记了split这个函数,是自己写的空格分隔,代码运行是正确的
//今天用了split之后,一直少了60和713,也不知道是为什么,有没有哪位大佬可以帮我看看
#取出n,k
a = str(input())
a1 = a.split(" ")
#取出所有数字
b = str(input())
b1 = b.split(" ")
#进行排序
c = sorted(b1)
for i in range(int(a1[1])):
    print(c[i] , end = " ")

发表于 2023-07-22 22:41:21 回复(1)
_,k = map(int,input().split())
print(' '.join(sorted(input().split(),key=int)[:k]))

发表于 2023-07-19 15:50:32 回复(0)
x = input().split()
n = int(x[0])
k = int(x[1])

y = input().split()
y1 = []
for i in y:
    y1.append(int(i))
y2 = list(sorted(y1))
s = ""
for i in range(k):
    s += str(y2[i]) + " "

print(s)
发表于 2023-06-07 17:15:14 回复(0)
方法一 
n, k = map(int, input().split())
l = list(map(int, input().split()))
a = 0 
while a < k:  
    print(min(l), end=' ')
    l.remove(min(l))
    a += 1  
方法二 
n, k = map(int, input().split())
l = list(map(int, input().split()))
a = sorted(l) 
for i in range(k): 
    print(a[i], end=' ')
发表于 2023-05-29 10:40:29 回复(0)
_=input().strip().split(' ')
n,k=int(_[0]),int(_[1])
nums=[int(i) for i in input().strip().split(' ')]

for i in sorted(nums)[:k]:
    print(i,end=' ')

发表于 2023-04-25 16:30:39 回复(0)
n, k = map(int, input().strip().split(' '))
if n in range(1, 1001) and k in range(1, n+1):
    lis = list(map(int, input().strip().split(' ')))
    for i in lis:
        if i not in range(1, 10001):
            print('wrong')
    # for m in range(0, k):
    #     print(sorted(lis)[m], end=' ')
    print(*sorted(lis)[:k])
else:
    print('wrong')

发表于 2023-04-09 18:38:53 回复(0)
a,b = map(int,input().split())
n = sorted(list(map(int,input().split())))
for i in range(b):
    print(n[i],end=" ")

发表于 2023-04-05 00:22:30 回复(0)