【python公司校招题】

【python滴滴出行】整数无序数组求第K大数?

2019-08-08  本文已影响0人  阿牛02

题目:给定无序整数序列,求其中第K大的数,例如{45,67,33,21},第2大数为45。

输入描述:

输入第一行为整数序列,数字用空格分隔,如:45 67 33 21

输入第二行一个整数K,K在数组长度范围内,如:2

输出描述:

输出第K大的数,本例为第2大数:45

code:

def findSmallKnum(arr, k):

    for i in range(k):

        for j in range(i + 1, len(arr)):

            if arr[i] < arr[j]:

                arr[i], arr[j] = arr[j], arr[i]

    return arr[k-1]

if __name__ == "__main__":

    arr = list(map(int, input().split()))#[4, 3, 6, 7,1, 3]

    K = int(input())

    print(findSmallKnum(arr, K))

上一篇 下一篇

猜你喜欢

热点阅读