题解 | #矩阵乘法计算量估算#

矩阵乘法计算量估算

https://www.nowcoder.com/practice/15e41630514445719a942e004edc0a5b

核心思想将 规则 入栈维护
const readline = require('readline');
 
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let source = []
rl.on('line', function (line) {
    source.push(line.trim())
});

rl.on('close', function () {
    let n = Number(source.shift())
    let dict = 'ABCDEFGHIJKLMNO'
    let rule = source.pop()
    let idx = 0
//     console.log(source)
    // 将规则按栈维护
    rule = rule.split('')
    let stack = []
    let res = 0
    for (let i = 0; i < rule.length; i++) {
        if (rule[i] == ")") {
            let b = stack.pop()
            let a = stack.pop()
            // 弹出括号
            stack.pop()
            // 累加结果
            res += a[0] * a[1] * b[1]
            // 封装新的值
            stack.push([a[0], b[1]])
        } else if (/[A-Z]/.test(rule[i])) {
            let idx = dict.indexOf(rule[i])
//             console.log(idx)
            stack.push(source[idx].split(' '))
        } else {
            stack.push(rule[i])
        }
    }
    console.log(res)
})


全部评论

相关推荐

头像 会员标识
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务