问题描述
我试图在 Swift 中将每个可能的 UInt8 数组设置为 100 的数组大小。到目前为止,我有以下代码:
var arrays = [[UInt8]]()
for size in 1...100 {
let arr = Array(repeating: 255,count: size) as [UInt8]
arrays.append(arr)
}
到目前为止的代码只是创建了一个数组,其中填充了 255
多少次由 for 循环指定。相反,我希望代码为列出所有可能组合的每个数组大小创建一个数组。例如,当 size
为 1 时,数组应如下所示:
[0],[1],[2],[3],[4],so on until [255]
当 size
为 2 时,数组应如下所示:
[0,0],[0,1],2],3],4],so on until [0,255]
[1,[1,so on until [1,255]
这应该一直持续到 size
为 100。有什么方法可以使用 Swift 完成此操作吗?
提前致谢。
解决方法
现在可以使用 Swift Algorithms 解决此类问题。
import Algorithms
let combinations = (1...5).combinations(ofCount: 2)
combinations.forEach { combination in
print(combination)
}
输出:
[1,2]
[1,3]
[1,4]
[1,5]
[2,3]
[2,4]
[2,5]
[3,4]
[3,5]
[4,5]