Python Kickstart Round C 2020倒计时问题-查找连续子阵列的数量
编辑-输出在冒号前没有空格。但在改变了这一点之后,不是错误的答案,而是运行时错误。甚至示例输入测试也成功运行。可能有什么问题 问题 Avery有一个N个正整数的数组。数组的第i个整数是Ai 如果一个连续子数组的长度为m,并且包含按该顺序排列的整数m,m-1,m-2,…,2,1,则它是一个m倒计时。例如,[3,2,1]是一个3-倒计时 你能帮艾弗里数一数她数组中的K倒数吗 输入 输入的第一行给出了测试用例的数量,然后是T.T测试用例。每个测试用例从一行开始,该行包含整数N和K。第二行包含N个整数。第i个整数是Ai 输出 对于每个测试用例,输出包含用例x:y的一行,其中x是从1开始的测试用例编号,y是数组中的K-倒计时数 极限 时间限制:每个测试集20秒。 内存限制:1GB。 1.≤ T≤ 100 2.≤ K≤ N 1.≤ 艾岛≤ 2×105,适用于所有i 测试集1 2.≤ N≤ 一千 测试集2 2.≤ N≤ 2×105,最多10个测试用例。 其余个案则有2宗≤ N≤ 一千 样品 输入 三, 12 3 1 2 3 7 9 3 2 1 8 3 2 1 4 2 101 100 99 98 9 6 100765432100 输出 案例1:2 案例2:0 案例3:1Python Kickstart Round C 2020倒计时问题-查找连续子阵列的数量,python,arrays,Python,Arrays,编辑-输出在冒号前没有空格。但在改变了这一点之后,不是错误的答案,而是运行时错误。甚至示例输入测试也成功运行。可能有什么问题 问题 Avery有一个N个正整数的数组。数组的第i个整数是Ai 如果一个连续子数组的长度为m,并且包含按该顺序排列的整数m,m-1,m-2,…,2,1,则它是一个m倒计时。例如,[3,2,1]是一个3-倒计时 你能帮艾弗里数一数她数组中的K倒数吗 输入 输入的第一行给出了测试用例的数量,然后是T.T测试用例。每个测试用例从一行开始,该行包含整数N和K。第二行包含N个整数。
T = int(input())
res = []
for i in range(T):
N, K = map(int, input().split(' '))
ai = list(map(int, input().split(' ')))
y=0
count=0
for m in range(len(ai)):
count=0
if(ai[m]==K):
if(len(ai)>=m+K-1):
for j in reversed(range(1, K)):
if(ai[m+K-j]==j):
count=count+1
if(count==K-1):
y=y+1
else:
break
else:
continue
res.append("Case #"+str(i+1)+" : "+str(y))
for g in range(len(res)):
print(res[g])
您可以使用两个指针的方法,比如取两个变量i和j,并用0初始化它们 如果满足所需条件,则保持i固定增量j,即
while(a[k+1]-a[k]==1):
j++
k++
当条件失效时,计算j-i。如果j-i==m,则增加计数器,说cnt,然后输入i=j并重复,直到数组结束请提供预期值。显示中间结果与预期结果的偏差。我们应该能够将单个代码块粘贴到文件中,运行它,并重现您的问题。您发布的代码挂起,等待输入。错误的答案不是问题。您试图追踪问题的尝试没有出现在本帖中,在GoogleKickstart上,它没有显示哪个测试用例失败。因此,即使是我也不知道中间结果偏离了哪里。