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

矩阵乘法计算量估算

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)
})


全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
king122:专业技能不要写这么多,熟悉和熟练你经不住问,排版有些难看,中间的空隙搞小一点,项目描述的话感觉是从课程中抄下来的,改一改吧,不然烂大街了,每个项目都写一两点,用什么技术实现了什么难点,然后再写一些数字上去像时间又花了90%这样,这样面试会多一些,如果觉得自己的项目还是不够用的话,我有几个大厂最近做过的实习项目,感兴趣的话可以看我简介中的项目地址
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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