题解 | #在字符串中找出连续最长的数字串#普通思路
在字符串中找出连续最长的数字串
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)
}
}
查看20道真题和解析