校招真题练习(Python)
1.n个数里的最小k个
题目:找出n个数里最小的k个。
输入描述:每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n不超过100。
输出描述:输出n个整数里最小的k个数,升序输出。
示例:输入:3 9 6 8 -10 7 -11 19 30 12 23 5
输出:-11 -10 3 6 7
def findminK(arr,K):
res = sorted(arr)
return res[:K]
num_int = []
num_str = input("输入数字:")
num_str = num_str.split() #list没有split这个属性
for i in num_str:
i = int(i) #int()里面的对象不能是list
num_int.append(i)
print(num_int)
k_of_num = num_int[-1]
print(k_of_num)
del num_int[-1]
print(num_int)
a = findminK(num_int, k_of_num)
print(a)
注意点:
①num_str里面储存的是input()的内容,可以调用split(),list没有split这个属性。
split()介绍:
描述:
split()通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num+1 个子字符串语法:
split()方法语法:
str.split(str="", num=string.count(str))
参数:
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。
返回值
返回分割后的字符串列表。
②int()里面的对象不能是list。
int()介绍:
描述:
int() 函数用于将一个字符串或数字转换为整型。
语法:
以下是 int() 方法的语法:
class int(x, base=10)
参数:
x – 字符串或数字。
base – 进制数,默认十进制。
返回值
返回整型数据。
③append() 里面的对象是一个元素,不能是列表,extend()里面的对象是列表。
④sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sorted 语法:
sorted(iterable, key=None, reverse=False)
参数说明:
iterable – 可迭代对象。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值:
返回重新排序的列表。