当前位置: 首页 > 面试经验 >

3.26小红书算法笔试

优质
小牛编辑
146浏览
2023-03-28

3.26小红书算法笔试

第一题 密码学

就是ascii码转换,写出来就能a

第二题 K排序

时间复杂度应该有点高,最后只a了0.64,一开始暴力甚至只a了0.18。后续还有待研究提升速度

第三题 涂色

唯一保留了代码的题

一开始感觉和第一题很像,就是看图说话就行,但是最后应该是有几个用例时间超了,a了0.82

n = int(input())

S = list(map(int, input().split()))

m = int(input())

l = list(map(int, input().split()))

r = list(map(int, input().split()))

operate = input()

x = list(map(int, input().split()))

for i in range(m):

    if operate[i] == '|':

        for j in range(l[i]-1, r[i]):

            S[j] |= x[i]

    elif operate[i] == '&':

        for j in range(l[i]-1, r[i]):

            S[j] &= x[i]

    else:

        for j in range(l[i]-1, r[i]):

            S[j] = x[i]

res = list(map(str, S))

print(' '.join(res))

#我的实习求职记录#
 类似资料: