我有一个n大小的数组,我想找到k大小的组合。我不只是想打印这些组合,而是想将这些组合存储在其他数组或任何容器中。我读了这个creating all possible k combinations of n items in C++但是无法成功地将组合存储在其他数组中。这是因为我想对这些组合进行操作。我正在寻找任何关于此的提示。 提前谢谢。
答案 0 :(得分:0)
缺乏选择其他内容的具体原因,您可能希望将结果存储在矢量中。
您可以非常轻松地预先计算结果数量 - 一次取K个N个项目将产生N!/K!(N-K)!
个总计组合。
冒着听起来居高临下的风险(我不打算),我会指出N!快速增长非常,因此如果N和K之间的差异非常大,结果可能会比大多数计算机可以合理存储的结果大得多。