给定一个整数数组a
、两个数字N
和M
,返回N
一组整数,a
使得每个组的和为M
。
例如,说:
a = [1,2,3,4,5]
N = 2
M = 5
然后算法可以返回[2, 3], [1, 4]
或[5], [2, 3]
可能返回其他算法。
我可以在这里使用什么算法?
编辑:
我不知道这个问题是NP完全的。因此,如果我提供有关特定场景的更多详细信息,也许会有所帮助:
所以我正在尝试创建一个“匹配”应用程序。给定团队N
数量和每个团队的玩家数量M
,应用程序会侦听客户端请求。每个客户端请求都会给出客户端代表的玩家数量。因此,如果我需要 2 支 5 名球员组成的球队,那么如果 5 个客户端发送请求,每个请求分别代表 1、2、3、4、5 名球员,那么我的应用程序应该在 clients[1, 4]
和 clients之间生成一场比赛[2, 3]
。它还可以在[1, 4]
和之间产生匹配[5]
;我真的不在乎。
一种暗示是,任何代表多于M
或少于0
玩家的客户端都是无效的。希望这可以简化问题。