第一次做这种自己要读取输入的题 泪崩!本来能十几分钟做完的题目,结果用了一小时
import bisect
num=int(input())
l1=list(input().split())
dict1={}
for i in range(num):
c=l1[i]
if c in dict1:
dict1[c].append(i+1)
else:
dict1[c]=[i+1]
n2=int(input())
while n2>0:
n2-=1
list2=list(input().split())
l=int(list2[0])
r=int(list2[1])
k=list2[2]
if k not in dict1:
print(0)
continue
data=dict1[k]
rc=bisect.bisect_right(data,r)
lc=bisect.bisect_left(data,l)
print(rc-lc)

本文分享了使用Python实现字典数据结构和二分搜索算法的经验,通过解决一个具体问题,展示了如何读取输入并高效处理数据,适合初学者理解和实践。
1369

被折叠的 条评论
为什么被折叠?



