题解 | #明明的随机数#
在字符串中找出连续最长的数字串
http://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
滑动窗口
1.先找到第一个为数字的值 标记为left,right=left 2.从left开始找第一个不是数字的值,标记为right,更新max 3.不断循环此过程
function isNumber(char) {
    return /\d/.test(char)
}
function getLongest(str) {
    const len = str.length;
    let left = 0;
    let right = 0;
    let max = 0;
    let ret = []
    while (left < len) {
        if (!isNumber(str[left])) {
            left++;
            continue
        }
        right = left
        while (right < len) {
            if (isNumber(str[right])) {
                right++;
                continue
            }
            break;
        }
        if (max < right - left) {
            ret = [[left, right]]
            max = right - left
        } else if (max === right - left) {
            ret.push([left, right])
        }
        left = right
    }
    let retStr = ''
    ret.forEach(item => {
        retStr += str.slice(item[0], item[1])
    })
    retStr += ',' + max
    console.log(retStr)
}
let str = ''
while(str = readline()){
    getLongest(str)
}

