【发布时间】:2016-01-13 10:53:10
【问题描述】:
我有一个范围
R = {0, ..., N}
我喜欢得到总和等于S 的K 元素,但应该随机选择元素。
因此,一种简单的蛮力方法是确定包含K 数字的所有元素组合,从而产生S,并随机选择其中一个组合。
我正在尝试考虑一个递归解决方案,其中选择一个随机数,然后问题减少到找到总和等于 (S - K0) 的 (K-1) 个随机数,但这不需要在解决方案中产生。
有更好的方法吗?
一个样本是:
R = {0,1,2,3,4,5}, S = 5, K = 2
Solutions: randomly pick one of {{1,4};{2,3};{0.5}}
【问题讨论】:
-
输入集中的给定数字可以多次使用吗?
-
在您的示例中,解决方案 {0, 5} 是否正确?
-
@MichałKomorowski 是的,没错,错过了
-
@MichałKomorowski:不,数字必须是唯一的