描述
对于给定的由数字和小写字母混合构成的字符串 s,找到其中最长的数字子串。如果由多个相同长度的数字子串,则需要全部输出,具体输出的格式请参考输出描述。
子串为从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。
输入描述:
输入一个长度为 1≦len(s)≦200、由数字和小写字母混合构成的字符串 s。保证至少存在一个数字子串。
输出描述:
记最长的数字子串长度为 l,有 m 个长度为 l 的数字子串。在一行上先首尾相连的输出 m 个长度为 l 的数字子串(不使用空格分割),随后输出一个逗号,再输出 l。
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
line = await readline();
function getSubStr(str = "") {
let arr = (str.match(/\d+/g) || []).sort((a, b) => {
return b.length - a.length;
});
let maxLength = arr[0].length;
let res = arr
.filter((item, i) => {
return item.length == maxLength;
})
.join("");
console.log(res + "," + maxLength);
}
getSubStr(line);
})();