题解 | #密码截取#

密码截取

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

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

// 寻找最长的回文串:暴力法
void async function () {
    const line = await readline();
    const len = line.length;
    let max = 0;
    for(let i = 0; i < len; i++){
        for(let j = 0; j <= len; j++){
            if(j-i<max || line.charAt(i) != line.charAt(j-1)) continue;
            const str = line.slice(i,j);
            if(str === str.split("").reverse().join("")) max = str.length;
        }
    }
    console.log(max);
}()

// 寻找最长的回文串:中心扩展算法
void (async function () {
    const line = await readline();
    const len = line.length;
    const expandAroundCenter = (i,j) =>{
        let left = i, right = j;
        while(left >= 0 && right < len && line.charAt(left) === line.charAt(right)) {
            left--;
            right++;
        }
        return right-left-1;
    } 
    let max = 0;
    for (let i = 0; i < len; i++) {
        max = Math.max(expandAroundCenter(i,i),expandAroundCenter(i,i+1),max);
    }
    console.log(max);
})();

全部评论

相关推荐

05-10 16:48
门头沟学院 Java
程序员小白条:主要原因,投递太晚了,快手应该早点溜了,你都从去年9月开始的,半年也差不多3月跑路了,这样的话,至少有5个以上的面试机会
点赞 评论 收藏
分享
此在夜:我之前也是这样,然后四五天之后进入HR面状态,发了测评,做完三十天后约了HR面
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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