题解 | #矩阵乘法计算量估算# 还是和四则运算一样递归了

矩阵乘法计算量估算

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

#矩阵a = [3,2]  3*2矩阵

#M[a,b,c,d]  计算模块  用栈计算也可以
def compute_ct(M):
    m1 = M[0]
    ct = 0
    i = 1
    while i<len(M):
        m2 = M[i]
        ct += m1[0]*m2[0]*m2[1]
        m1 = [m1[0],m2[1]]
        i +=1
    return ct , m1

#递归模块
p = 0
def compute_s(s,matrixs):
    global p
    l = len(s)
    compute_stack=[]
    ct = 0
    while p < l:
        if s[p] == '(':
            p +=1
            # 计算括号中的结果 返回ct和 矩阵
            sub_ct, sub_m1 = compute_s(s,matrixs)
            ct += sub_ct
            compute_stack.append(sub_m1)

        elif s[p] == ')':
            break

        else:
            d = ord(s[p])-ord('A')     
            if d in range(27):
                compute_stack.append(matrixs[d])

        p +=1
    
    mct , m1 = compute_ct(compute_stack)
    ct += mct
    
    return ct , m1

        



n = int(input())
matrixs= []
for _ in range(n):
    temp = list(map(int,input().split()))
    matrixs.append(temp)

compute_str = input()
compute_stack = []

ct = compute_s(compute_str, matrixs)[0]

print(ct)

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
北漂的牛马人:211佬,包进的,可能是系统问题
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 16:46
今天本来好好的,结果带教老师当着众人的面,直接大声叫我的名字,我过去还没站稳,劈头盖脸就是一句:“你这搞的什么玩意啊!没带脑子上班吗”那语气、那眼神,仿佛我做了什么十恶不赦的大事。我到底干啥了?不过是一些小疏漏,谁刚开始实习不会犯错啊?可她倒好,不仅不耐心指导,还这样贬低我。我满心的热情和期待,瞬间被浇了个透心凉🥶我也是爹妈疼爱的宝贝,来实习是为了学习、成长,不是来被人随意羞辱的!真心希望遇到的带教老师能多些耐心和善意,毕竟谁都有从零开始的时候,这样的“教育”方式,真的只会让人越来越没自信
longerluck...:前几年实习(初创公司),我们老板每月不固定会举行会议,叫我们几个实习生谈一下生活看到或听到的一些事情,并给出看法,当时我就正常讲了下我所见到的,没有个人看法,老板直接当着众人的面骂了我,那时候我真是感觉尴尬的要死(毕竟还有其他正式员工在)后面没待多久我就提出离职(因为当时我还负责一个项目),我leader叫我不要走,说给我涨工资,我反正觉得这种公司我是待不下去了,官味太重了,最后我还是跑路
实习吐槽大会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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