Swift字符串迭代和比较

时间:2016-06-22 20:08:57

标签: swift string

我在CodinGame网站上玩。任务是找到最接近零的数字。这就是你给的。

let n = Int(readLine()!)! // the number of temperatures to analyse
let temps = readLine()! // the n temperatures expressed as integers ranging from -273 to 5526

我不知道该怎么做。我猜这有很多方法可以解决。

1 个答案:

答案 0 :(得分:0)

所以你有一个String包含"4 -6 8 12 -12"之类的内容,你想要提取最接近零的Int

这是解决方案

import Foundation

let text = "4 -6 8 12 -12"
let numbers = text.componentsSeparatedByString(" ").flatMap { Int($0) }
if let closestToZero = numbers.minElement({ abs($0) < abs($1)}) {
    print(closestToZero) // -1
}

紧凑版

逻辑相同,代码少

let closestToZero = text.componentsSeparatedByString(" ")
    .flatMap { Int($0) }
    .minElement{ abs($0) < abs($1) }