1
Size: a a a
A
DA
IS
let source = [3, 1, 4, 1, 5, 9, 2, 5, 3, 5, 8]31415925358
var power = 1
let result = source.reversed().reduce(0) {
defer { power *= 10 }
return $0 + $1 * power
}
print(result)
DB
IS
import Foundation
@discardableResult
func test1() -> Int {
let inputArray = [3, 1, 4, 1, 5, 9, 2, 5, 3, 5, 8]
var mult = 1
var sum = 0
for element in inputArray.reversed() {
sum += mult * element
mult *= 10
}
return sum
}
@discardableResult
func test2() -> Int {
let source = [3, 1, 4, 1, 5, 9, 2, 5, 3, 5, 8]
var power = 1
return source.reversed().reduce(0) {
defer { power *= 10 }
return $0 + $1 * power
}
}
let num = 10_000
var date = Date()
(0..<num).forEach { _ in test1() }
print(Date().timeIntervalSince(date))
date = Date()
(0..<num).forEach { _ in test2() }
print(Date().timeIntervalSince(date))
IS
IS
@discardableResult
func test3() -> Int {
let source = [3, 1, 4, 1, 5, 9, 2, 5, 3, 5, 8]
return source.reversed().enumerated().reduce(0) {
return $0 + $1.element * Int(pow(10, Double($1.offset)))
}
}
IS
IS
DB
IS
FF
AB
Д