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

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

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

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
    // Write your code here
    while(line = await readline()){
        let num_str = line;
        let str_arr = [];
        for(let i=0;i<num_str.length; i++){ // 穷举
            let j = i
            let tmp_str = '';
            while(!isNaN(Number(num_str.substr(j,1))) && j<num_str.length){
                tmp_str+= num_str.substr(j,1);
                j++;
            }
            str_arr.push(tmp_str);
        }

        let max_length = 1; // 没必要是0,应从1开始
        let max_arr = [];
        str_arr.forEach(item=>{
            if(item.length>max_length){ // 发现新的最长
                max_length = item.length;
                max_arr = []; // 重置数组
                max_arr.push(item); // 放入最新
            }else if(item.length == max_length){ // 发现相同长度的其他字符串,push进去
                max_arr.push(item);
            }
        });
        console.log(max_arr.join('')+','+max_length);

    }
}()

全部评论

相关推荐

点赞 评论 收藏
分享
牛客279957775号:铁暗恋
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务