分治-输出前m大的数

描述
给定一个数组包含n个元素,统计前m大的数并且把这m个数从大到小
输出。
输入
第一行包含一个整数n,表示数组的大小。n < 100000。
第二行包含n个整数,表示数组的元素,整数之间以一个空格分开
。每个整数的绝对值不超过100000000。
第三行包含一个整数m。m < n。
输出
从大到小输出前m大的数,每个数一行。

思路:先对列表中的数据进行排序,然后再遍历list,把大于M的值存入一个新的list,
最后输出list

输入:
7,9,1,2,4,10,3
5
输出:
10,9,7

Python代码实现:
 1 def main():
 2     list1 = list(map(int,input("请输入数据,以逗号间隔:").split(",")))
 3     m = int(input("请输入需要比较的值:"))
 4     list1.sort(reverse=True)
 5     list2 = []
 6 
 7     for i in list1:
 8         if i >= m :
 9             list2.append(i)
10         if i < m :
11             break
12     print("大于等于%d的数:"%m,end="")
13     print(list2)
14 
15 
16 
17 if __name__ == "__main__":
18     main()

 

 
posted @ 2020-04-22 14:17  StudyNLP  阅读(287)  评论(0编辑  收藏  举报