题解 | #密码截取#
密码截取
http://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
这道题的主要分为两种情况,对于每个元素,分是否作为中心点考虑,如果是中心点,let l=index-1,let r=index+1,否则的话,let l=index,let r=index+1
let input=readline()
let arr=Array.from(input)
let res=[]
for(let i=0;i<arr.length;i++){
let a=d1(i,arr)
let b=d2(i,arr)
// console.log(a,b)
res[i]=Math.max(a,b)
}
console.log(Math.max(...res))
function d1(index,arr){
let l=index-1
let r=index+1
let count=1
while(l>=0&&r<arr.length){
if(arr[l]==arr[r]){
count+=2
l--
r++
}else{
break
}
}
return count
}
function d2(index,arr){
let l=index
let r=index+1
let count=0
while(l>=0&&r<arr.length){
if(arr[l]==arr[r]){
count+=2
l--
r++
}else{
break
}
}
return count
}