华为OD --- 敏感字段加密

华为OD --- 敏感字段加密

题目

独立实现

思路

通过便利字符串把所有"关键字"找出来,然后将第N个关键字替换成******,最后再通过 "_" 拼接起来即可

源码实现

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

void (async function () {
    // 输入字符串个数
    const allStrLength = []
    // 保存关键字
    const keywordIndex = Number(await readline());

    let inputStr = await readline();

    let currentKeyStr = ''
    let startFlag = false
    for (let i = 0; i < inputStr.length; i++) {
        if (inputStr[i] === '"') {
            if (startFlag === false) {
                // 特殊关键词处理开始
                startFlag = true
                currentKeyStr += '"'
                continue
            }
            if (startFlag === true) {
                startFlag = false
                currentKeyStr += '"'
                allStrLength.push(currentKeyStr)
                currentKeyStr = ''
                continue
            }
        }
        if (inputStr[i] === '_' && startFlag === false) {

            if (currentKeyStr !== '') allStrLength.push(currentKeyStr)
            currentKeyStr = ''
            continue;
        }
        if (inputStr[i] !== '_' && inputStr[i] !== '"' || startFlag === true) {
            currentKeyStr += inputStr[i]
        }
        if (i === inputStr.length - 1 && currentKeyStr !== '') {
            allStrLength.push(currentKeyStr)
        }
    }


    if(keywordIndex < allStrLength.length){
        allStrLength[keywordIndex] = '******'

        const transformInputStr = allStrLength.map(item => item === '' ? '""' : item).join('_')
        console.log(transformInputStr)
    }else{
        console.log('ERROR')
    }

})();

参考实现

在网上看了参考实现和题主的独立实现思路差不多,固不搬运了

相关推荐
c++开发工程师3 天前
Scrum 核心角色与分工
华为od·scrum
无限码力5 天前
华为OD机试真题 新系统【图的遍历】
华为od·华为od机试·华为od上机考试真题·华为od机考真题·华为od机试真题题解·华为od机考真题题解·华为机试题库
哪 吒8 天前
华为OD机试 - 云服务安全策略最优选择 - 深度优先搜索DFS(Java 新系统 200分)
java·华为od·深度优先
无限码力19 天前
8.26华为OD机试真题 新系统【字符串回文判断】
算法·华为od·华为od机考·华为od机试·华为od上机考试真题·华为od最新机试真题题解·华为od机试真题题库
s180579163622 个月前
餐饮小程序GEO优化
华为od
令狐掌门2 个月前
2026华为OD面试题020:日志文件异常检测
算法·leetcode·华为od
令狐掌门2 个月前
2026华为OD面试题018:智能成绩表
华为od
令狐掌门2 个月前
2026华为OD面试题002:路口最短时间问题
华为od·华为od面试题
令狐掌门2 个月前
2026华为OD面试题001:两个字符串间的最短路径问题
华为od·华为od面试题
2601_962072553 个月前
李梦娇常识4600问|题库|打印版
sql·华为od·华为·c#·华为云·.net·harmonyos