我正在尝试一些代码高尔夫,我有这个函数:
func fibonacci(n: Int) {
var x1=0
var x2=1
var arr = [Int]()
for _ in 1...n {
arr.append(x1)
let temp = x1+x2
x1 = x2
x2 = temp
}
print(arr)
}
我想尝试一条命令,就是这样:
print((1...n).reduce(([Int](),[0,1]), { ($0.0 + [$0.1[0]],[$1.1[1],$1.1[1]+$1.1[0]])}))
但是我收到了这个无聊的编译器错误信息:
编译器无法在合理的时间内对此表达式进行类型检查;尝试将表达式分解为不同的子表达式
有更好的方法吗?谢谢