题解 | #密码截取#

密码截取

https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

/*最长回文子串,马拉车算法,中心扩展的延申,通过加符号确保数据一定是奇数, 在此基础上 头尾控制字符不一样就会匹配不上自动停止 */
const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
rl.on("line"function (line) {
  //
  let lines = "$"+"#"+line.split("").join("#")+"#"+"&" ; //一定奇数,中心为遍历到的数,index (两个index,同时向左右两边扩展),开头结尾数据不一样,一定不匹配
  let max = 0;
  for(let index in lines){
      max = Math.max(max,center(lines,index,index))
  }
console.log(max)
});
function center(arr,left,right){
 let len = 0 ;
 whilearr[left] == arr[right]){
     len = right - left +1 ;
     left-- ;
     right++;
 }
 
 return parseInt(len/2)
}

全部评论

相关推荐

2025-12-15 17:56
商洛学院 运维工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务