关注
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)) 贴一段代码,不需要每次只减一位字符串的数字,优化了(">"..."<")该种情况下的处理,测试案例都通过了,考试的时候没写完,没法测试
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 考研对你找工作产生了哪些影响? #
5864次浏览 70人参与
# 打杂的实习你会去吗? #
108979次浏览 953人参与
# 聊聊这家公司值得去吗 #
240113次浏览 2242人参与
# 机械只有读研才有出路吗? #
20015次浏览 228人参与
# 你认为哪个岗位找工作最卷 #
17026次浏览 66人参与
# 面试被问第一学历差时该怎么回答 #
130876次浏览 823人参与
# 远程面试的尴尬瞬间 #
101129次浏览 830人参与
# 硬件人绝对不能踩的坑 #
61479次浏览 736人参与
# 工作中哪个瞬间让你想离职 #
24275次浏览 166人参与
# kpi面有什么特征 #
36247次浏览 266人参与
# 你有哪些缓解焦虑的方法? #
3981次浏览 143人参与
# 如何缓解入职前的焦虑 #
187433次浏览 1319人参与
# 职场人,说说你的烦心事 #
9150次浏览 83人参与
# 秋招最大的收获是什么? #
34301次浏览 302人参与
# 实习生应该准时下班吗 #
223660次浏览 1398人参与
# 职场上哪些事情令人讨厌 #
16972次浏览 86人参与
# 你今年的平均薪资是多少? #
126866次浏览 661人参与
# 为了找工作你投递了多少公司? #
12485次浏览 172人参与
# 运营/市场营销人的秋招现状 #
17358次浏览 189人参与
# 数字马力求职进展汇总 #
175410次浏览 1470人参与