做了小红书笔试

编程题一道都没做出来,我是five😇

更新-09301247
发现python直接用int就行了,在java的BigInteger和输入输出上浪费了太多时间。写了一下第一道题,不知道对不对:

T = int(input())
while T:
    T -= 1

    n = int(input())
    s = input()
    a = ord('9') + 1  # 最小
    b = ord('0') - 1  # 最大
    # 找到s中的最小最大字符
    for c in s:
        c = ord(c)
        if c < a:
            a = c
        if c > b:
            b = c

    p = a - ord('0')  # 小于最小的数量
    q = ord('9') - b  # 大于最大的数量
    r = b-a + 1  # [a, b]之间的数量

    # 只能是[a,b]
    _x = r ** n
    # 可以是[0, b],即没有大于最大
    _y = (p + r) ** n
    # 可以是[a, 9],即没有小于最小
    _z = (r + q) ** n

    # 总数 - _y - _z + _x
    res = 10 ** n - _y - _z + _x

    print(res % (10**9 + 7))
全部评论
我感觉自己写的没问题,一测通过率9%😅
3 回复 分享
发布于 2024-09-29 16:04 新加坡
吐了 前两道改来改去都超时只能27% 最后一道dfs写了半天不对 有大佬讲讲怎么做吗?
1 回复 分享
发布于 2024-09-29 16:07 湖北
考的是数学md 太恶心了 中途放弃了
1 回复 分享
发布于 2024-09-29 16:03 天津
上次在另一个志愿已经笔过一次了,这次感觉难度上了一个台阶😥
点赞 回复 分享
发布于 2024-09-29 16:07 美国
➕1
点赞 回复 分享
发布于 2024-09-29 16:03 山东

相关推荐

ohs的小木屋:比不少实习待遇高了
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

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