HJ92 在字符串中找出连续最长的数字串
2024-10-21 02:58:42
描述
输入一个字符串,返回其最长的数字子串,以及其长度。若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置)
本题含有多组样例输入。
输入描述:
输入一个字符串。
输出描述:
输出字符串中最长的数字字符串和它的长度,中间用逗号间隔。如果有相同长度的串,则要一块儿输出(中间不要输出空格)。
示例1
输入:
abcd12345ed125ss123058789
a8a72a6a5yy98y65ee1r2
复制
输出:
123058789,9
729865,2
function fn(str){
let dp = new Array(str.length+1)//dp数组代表第i个字符为数字结尾的最长数字串长度
dp[0] = 0;
for(let i=1;i<=str.length;i++){
if(/\d/.test(str[i-1])){
dp[i] = dp[i-1]+1;
}else{
dp[i] = 0;
}
}
let max = Math.max.apply(null, dp);
let res = ''
for(let i=1;i<dp.length;i++){
if(dp[i] === max){
res+=str.substr(i-dp[i], dp[i])
}
}
console.log(res+','+max)
}
let line;
while(line=readline()) fn(line);
最新文章
- python 发送邮件
- js函数式编程
- linux命令:cd
- [转]Oracle学习记录 九 Prc C学习
- 使用logback.xml配置来实现日志文件输出
- C++单例模板
- 在SQL Server实现最短路径的搜索
- 转载:iPhone 6 Plus 屏幕宽度问题 375 vs 414
- AppExtention - today
- 枚举宏(Adopting Modern Objective-C)
- 集成 Entity Framework
- Java 编码 字符集
- 数字三角形-poj
- 理解Express中间件
- 学习笔记-AngularJs(六)
- mysql 访问不是本地数据库,给用户刷新了权限没有作用
- STM32F4 Timer External Clock TI2 Both Edges Demo
- 程序员需要经纪人吗?10x 最好的程序员其生产力相当于同行的 10 倍~
- MetInfo PHP的CMS,目测还不错
- 为iOS应用制作一个二维码