非严格递增连续数字序列

非严格递增连续数字序列
题目描述
输入一个字符串仅包含大小写字母和数字
求字符串中包含的最长的非严格递增连续数字序列长度
比如:
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)
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容