[英]Method that returns all permutation given some maximum and minimum criteria
需要构建这个方法,这可能会使用一些递归,但没有成功,一旦给定每个元素的总和最大值和最小值,就会返回所有可能的列表,其元素的总和是总值。
Ex
Input:
Total: 25
Maximum value per element in array:5
Minimum value per element in array:3
Output:
[5,5,5,5,5] [5,4,5,5,5] [5,4,4,5,5] [5,4,4,4,5,3] [5,4,4,4,4,4] [4,4,4,4,4,5] [4,4,4,4,4,4,1]
[3,4,4,4,4,4,2] [3,3,4,4,4,4,3] [3,3,4,4,4,4,3] [3,3,3,4,4,4,4] [3,3,3,3,4,4,5]
....
伪代码:
void makesum(lst, int asum, int amin, int amax):
if (asum == 0) {
print(lst.ToString());
}
else {
for (int i=amin; i <= min(asum, amax); i++) {
makesum(lst.add(i), asum - i, amin, amax);
}
}
makesum(empty_array, 15, 3, 5)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.