这是一个面试问题,而不是作业.
N个朋友正在玩游戏.他们每个人都有自己面前的数字列表.
N个朋友中的每一个从他的列表中选择一个号码并将其报告给游戏管理员.然后游戏管理员对报告的数字进行排序并喊出第K个最大的数字.
我必须计算游戏管理员可以喊出的所有可能的数字.
例如,如果N = 3且K = 3,并为3个的朋友列表是2 5 3,8 1 6,7 4 9.输出为6,因为可能的值是4 5 6 7 8 9.
任何人都能为这个问题提出一个不错的算法吗?我正在做的是创建所有可能的排列,从每个列表中取一个数字,然后对结果进行排序并打印第k个最大的数字.但这需要太多时间.