非严格递增连续数字序列

非严格递增连续数字序列
题目描述
输入一个字符串仅包含大小写字母和数字
求字符串中包含的最长的非严格递增连续数字序列长度
比如:
12234属于非严格递增数字序列

输入描述
输入一个字符串仅包含大小写字母和数字

输出描述
输出字符串中包含的最长的非严格递增连续数字序列长度

示例一
输入
abc2234019A334bc
输出
4

package main

import "fmt"

func increArray(s string) int {
    var slow, fast int
    maxLen := 1
    for fast = 0; fast < len(s); fast++ {
        if fast < len(s)-1 && s[fast] > s[fast+1] {
            if fast-slow+1 > maxLen {
                maxLen = fast-slow+1
            }
            slow = fast+1
        }
    }
    if fast - slow > maxLen {
        maxLen = fast - slow
    }
    return maxLen
}

func main() {
    var max int
    var input string
    fmt.Scan(&input)
    var i,j int
    for i = 0; i < len(input); i++ {
        if '0' <= input[i] && input[i] <= '9' {
            for j = i; j < len(input); j++ {
                if j < len(input)-1 && !('0' <= input[j+1] && input[j+1] <= '9') {
                    m := increArray(input[i:j+1])
                    if m > max {
                        max = m
                    }
                    i = j
                    break
                }
                if j == len(input)-1 && ('0' <= input[j] && input[j] <= '9') {
                    m := increArray(input[i:j+1])
                    if m > max {
                        max = m
                    }
                    i = j
                    break
                }
            }
        }
    }

    fmt.Println(max)
}

你可能感兴趣的:(非严格递增连续数字序列)