algorithm - 获取元素的所有组合和元素可以在单个组合中重复多次

标签 algorithm combinations formula

我在获取元素的所有组合时遇到问题,元素可以重复和重复使用多次,即使是在单个组合中也是如此。
例如,我有一个 100 cm2 的盒子,那么我有以下对象:
1)物体A:20cm2
2) 物体B:50cm2

预期的组合将是:(A), (A, A), (A, A, A), (A, A, A, A), (A, A, A, A, A), ( A, B), (A, B, A), (A, B, A, A) .....

任何组合都是允许的,只要它们能装进盒子里。对象可以在单个组合中重复多次。但是,不需要重复的模式,例如(A, B) 等于 (B, A)。

我不确定搜索此问题的关键字是什么,如果这是一个重复的问题,请告诉我。

最佳答案

在我看来,递归算法可以完成这项工作:适合第一个对象,然后将下一个对象(包括您刚刚包含的对象)的所有组合添加到尺寸减小的框中。

然后对第二个对象执行相同的操作,始终使用与行中下一个对象的组合,而不是之前的对象(不能在 B 之后有 A)。

以您的示例,您将拥有:

  • (一)
    • (A,A)
      • (A,A,A)
        • (A,A,A,A)
          • (A,A,A,A,A)
          • (A,A,A,A,B) 不工作
        • (A,A,A,B) 不工作
      • (A,A,B)
    • (A,B)
      • (A,B,B) 不工作
  • (乙)
  • (乙,乙)

关于algorithm - 获取元素的所有组合和元素可以在单个组合中重复多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34181582/

相关文章:

python - 使用Python在Excel中计算公式

algorithm - 求解平方和问题的算法

java - 检查一个字符串是否与其他两个字符串交错

c++ - Strassen-Winograd 算法

r - 如何使用更新将前缀添加到公式的右侧?

excel - 从包含Excel中文本字符串的单元格中提取日期

iphone - Objective-C 中的模糊日期算法

python-3.x - 递归地从 N 中选择 K 个项目,直到为空

python - 给定输入字符串的字典值的所有可能组合。 Python

python - 在列表中生成字符串元素的组合,将它们限制为特定的字符数量