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))
#我的实习求职记录##软件开发2023笔面经#