题解 | #密码截取#
密码截取
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 () {
// Write your code here
while(line = await readline()){
let dp = [];
dp[0] = 1;
for (let i = 1; i < line.length; i++) {
dp[i] = dp[i-1];
for (let j = 0; j < i; j++) {
//从j=0开始遍历,一旦找到line.slice(j, i+1)为密码,重新定义dp[i],同时break;
if (line[j] == line[i] && line.slice(j, i+1) == line.slice(j, i+1).split('').reverse().join('')){
dp[i] = Math.max(i-j+1, dp[i]);
break;
}
}
}
console.log(dp[line.length - 1])
}
}()
查看12道真题和解析