题目解析
本题有多种解题思路,我的思路是利用字符串替换操作。
即将如下密文和明文进行按照顺序依次映射替换
- "26*" → "z"
- "25*" → "y"
- ...
- "10*" → "j"
- "9" → "i"
- ...
- "1" → "a"
这里优先将从“26*” ~ "10*" 开始映射替换,比如题目用例:
20*19*20*
如果优先进行 "1" ~ “9” 密文的映射替换,则会产生错误答案。
更多实现细节,请看代码。
JS算法源码
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
// 输入处理
void (async function () {
let s = await readline();
for (let i = 26; i >= 1; i--) {
const k