如果我有一個很長的數字範圍,例如1 ... 1000000,那麼用下面的映射將它們轉換爲字符串的有效方法是什麼?Swift - 有效數字到字符轉換
1-> A,2-> B,3-> C,... 10-> A0,11-> AA,12-> AB等
我帶分割的方法的每個號碼轉換爲數字(使用模數)並使用它從數組中獲取字符來構建字符串。花費大約5秒1 ... 1000。有更快的方法嗎?
我的代碼:
let numbers = 1...1000000
let charArray:[Character] = ["0","A","B","C","D","E","F","G","H","I"]
var results: [String] = []
func transformNumbers() {
for number in numbers {
var string = ""
var i = number
while i > 0 {string.insert(charArray[(i%10)], at: string.startIndex); i/=10}
results.append(string)
}
}
_對於1 ... 1000_大約需要5秒鐘,似乎太長了。 _爲1 ... 1000000'在第一行? – OOPer
「數字」數組是否按順序排列? –
您可以嘗試將數字轉換爲一串數字。然後使用'replaceOccurances()',將每個'1'替換爲'A'('2'替換爲'B'等)。看看性能是否提高。 – AgRizzo