運行整數數組的所有不同排列的最有效算法是什麼?具體來說,我有一個數組,可以容納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