题解 | 小红删数字

小红删数字

https://www.nowcoder.com/practice/1287555d90d34de3be4ae338b18c1fbd

import sys


MOD = 10**9 + 7

def solve(arr):
    n = len(arr)
    dp_prev = [0] * 10
    if (len(arr)==0):
        return dp_prev
    if (len(arr)==1):
        if (arr[-1] < 10):
            dp_prev[arr[-1]% 10] = 1
            return dp_prev
        else:
            return dp_prev
    dp_prev[arr[-1]% 10] = 1

    for i in range(n-2, -1, -1):
        dp_curr = [0] * 10
        current_num = arr[i]
        for a in range(10):
            count = dp_prev[a]
            if count == 0:
                continue
            add = (current_num + a) % 10
            mul = (current_num * a) % 10
            dp_curr[add] = (dp_curr[add] + count) % MOD
            dp_curr[mul] = (dp_curr[mul] + count) % MOD
        dp_prev = dp_curr
    
    return dp_prev
    


# 读取输入
b = []
for line in sys.stdin:
    a = line.split()
    b.append(a)

# 提取输入数据
n = int(b[0][0])
a = [int(b[1][i]) for i in range(n)]

# 计算并输出结果
ans = solve(a)
ans = ' '.join(map(str, ans))
# 输出最终结果
#print(ans)
print(ans)

全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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