运行整数数组的所有不同排列的最有效算法是什么?具体来说,我有一个数组,可以容纳4个大小为uint32_t的元素,但我需要在Java中实现它,所以我想我需要使用long来限制它在4,294,967,295。因此,输出示例如下:运行整数数组的所有组合的算法
[1,1,1,1]
[2,1,1,1]
[3,1,1,1]
[4,1,1,1]
[1,2,1,1]
[1,3,1,1]
[1,4,1,1]
[1,1,2,1]
[1,1,3,1]
[1,1,4,1]
...
[4,294,967,295, 4,294,967,295, 4,294,967,295, 4,294,967,295]
它不需要按顺序经过它。只要它尝试所有组合。
谢谢!
这些既不是排列组合,至少在技术意义上。 –
此外,这将是'10^38'不同的可能性。 – lcs
这很可能是一个XY问题......你试图解决什么是真正的问题?因为用'int'需要很长时间,所以我甚至无法想象'long'需要多长时间...... – Tunaki