分治-输出前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()