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

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

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

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
    scan:=bufio.NewScanner(os.Stdin)
    // 注意是一个多次扫描
    for scan.Scan(){
        input:=scan.Text()
        var res []string
        var tem string
        for _,v:=range input{
            if v>='0'&&v<='9'{
                tem+=string(v)
            }else{
        // 要求tem长度>0是处理开头是其他字符的情况,此时tem空字符串不需要添加
                if len(tem)>0{
                res = append(res, tem)
                }
                tem=""
            }
        }
        //处理一下数字结尾的情况,如果数字结尾的话那么tem得不到添加
        if len(tem)>0{
            res = append(res, tem)
            }
        // fmt.Println(res)

        // 现在开始找最长字符串
        // 找到最长长度
        max:=0
        for _,v:=range res{
            if len(v)>=max{
                max=len(v)
            }
        }
        // 找到最长长度对应的结果
        str:=""
        for _,v:=range res{
            if len(v)==max{
                str+=v
            }
        }
        //打印结果
        fmt.Printf("%s,%d",str,max) 
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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