题解 | #在字符串中找出连续最长的数字串#

在字符串中找出连续最长的数字串

http://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec

Swift题解

  • 遍历字符串,提取数字部分添加到数组
  • 数组按照字符串长短生序排列
  • 连接数组中长度为最后一个字符串长度的所有字符串及结果
while let s = readLine() {
    let chars = [Character](s)
    var i = 0
    var array = [String]()
    var sub = ""
    while i < chars.count {
        let char = chars[i]
        if char >= Character("0") && char <= Character("9") {
            sub.append(char)
        } else {
            if sub.count > 0 {
                array.append(sub)
                sub = ""
            }
        }
        i += 1
    }
    if sub.count > 0 {
        array.append(sub)
    }
    array.sort { s1, s2 in
        return s1.count < s2.count
    }
    if array.count > 0 {
        let result = array.filter{ $0.count == array.last?.count }.joined()
        print("\(result),\(array.last?.count ?? 0)")
    }
}

全部评论

相关推荐

不会做题的小熊:我感觉我就算是找不到工作,我也不会作弊进去,作弊进去感觉一方面是自己不踏实,其次就是都靠作弊了,那后面肯定工作的心态是不一样的,没有一种内驱力。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务