关注
def main(l,r):
sub = list(seq[l:r + 1])
i = 0
score = 0
stack = []
flag = ''
while 0 <= i < len(sub):
####### 还未有标志位的处理
if flag == "" and sub[i] not in "<>":
score += int(sub[i])
sub[i] = str(int(sub[i]) - 1)
stack.append(int(sub[i]))
i += 1
elif flag == "" and sub[i] == "<":
score += sum(stack)
return score
elif flag == '' and sub[i] == ">":
flag += sub[i]
idx = i
i += 1
stack = []
########## 标志位为">"
elif flag == ">" and sub[i] not in "<>":
stack.append(int(sub[i]))
sub[i] = str(int(sub[i]) - 1)
i += 1
if i == len(sub):
score += sum(stack)
return score
elif flag == ">" and sub[i] == ">":
score += sum(stack)
stack = []
idx = i
i += 1
elif flag == ">" and sub[i] == "<":
# 根据stack里最大的数值来判断删除">"还是"<"
maxx = max(stack)
for j in stack:
tmp = ((1 + j) * j) // 2
score += tmp
if maxx % 2 == 0:
sub = sub[:idx + 1] + sub[i + 1:]
i = idx + 1
flag = ">"
else:
sub = sub[:idx] + sub[i:]
i = idx - 1
flag = "<"
stack = []
########### 标志位为"<"
elif flag == "<" and sub[i] not in "<>":
stack.append(int(sub[i]))
sub[i] = str(int(sub[i]) - 1)
i -= 1
if i == -1:
score += sum(stack)
return score
elif flag == "<" and sub[i] == "<":
score += sum(stack)
stack = []
i -= 1
elif flag == "<" and sub[i] == ">":
# 根据stack里最大的数值来判断删除">"还是"<"
maxx = max(stack)
for j in stack:
tmp = ((1 + j) * j) // 2
score += tmp
if maxx % 2 != 0:
sub = sub[:i + 1] + sub[idx + 1:]
i += 1
flag = ">"
else:
sub = sub[:i] + sub[idx:]
i -= 1
flag = "<"
stack = []
return score
if __name__ == '__main__':
n,m,q = map(int,input().split())
seq = [c for c in input().split()]
for _ in range(q):
a,b = map(int,input().split())
l = a - 1
r = b - 1
if seq[l] == "<":
print(0)
elif l == r:
if seq[l] not in "<>":
print(seq[l])
else:
print(0)
else:
print(main(l,r)) 贴一段代码,不需要每次只减一位字符串的数字,优化了(">"..."<")该种情况下的处理,测试案例都通过了,考试的时候没写完,没法测试
查看原帖
点赞 评论
相关推荐
投递掌阅科技等公司10个岗位 >
点赞 评论 收藏
转发
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
624519次浏览 10563人参与
# 租房前辈的忠告 #
28431次浏览 1966人参与
# 秋招开了,你想投哪些公司呢 #
113141次浏览 3220人参与
# 我想象的工作vs实际工作 #
87668次浏览 1495人参与
# 华为开奖那些事 #
687504次浏览 5926人参与
# 简历中的项目经历要怎么写 #
415334次浏览 6981人参与
# 浅聊一下我实习的辛苦费 #
77688次浏览 722人参与
# 金融银行面经 #
3572次浏览 96人参与
# 我的成功项目解析 #
79039次浏览 2314人参与
# 五一之后,实习真的很难找吗? #
11391次浏览 72人参与
# 夸夸我的求职搭子 #
61924次浏览 756人参与
# 你已经投递多少份简历了 #
280818次浏览 4273人参与
# 我的上岸简历长这样 #
154722次浏览 3090人参与
# 春招你拿到offer了吗 #
352433次浏览 5226人参与
# 第一次面试 #
48447次浏览 748人参与
# 晒一晒我的offer #
3175692次浏览 52810人参与
# 我发现了面试通关密码 #
319209次浏览 6116人参与
# 你的简历改到第几版了 #
291775次浏览 4439人参与
# 哪些公司面试官让你印象深刻? #
25818次浏览 266人参与
# 毕业后不工作的日子里我在做什么 #
48786次浏览 669人参与