Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Google Kickstart E轮2020最长算术运行时错误_Python_List_Sublist - Fatal编程技术网

Python Google Kickstart E轮2020最长算术运行时错误

Python Google Kickstart E轮2020最长算术运行时错误,python,list,sublist,Python,List,Sublist,我试图解决下面提到的这个问题,但我遇到了一个运行时错误。我用的是Python 问题 算术数组是至少包含两个整数且连续整数之间的差值相等的数组。例如,[9,10]、[3,3,3]和[9,7,5,3]是算术数组,[1,3,3,7]、[2,1,2]和[1,2,4]不是算术数组 Sarasvati有一个由N个非负整数组成的数组。数组的第i个整数是Ai。她想从数组中选择一个具有最大长度的连续算术子数组。请帮助她确定最长连续算术子数组的长度 输入: 输入的第一行给出了测试用例的数量,然后是T.T测试用例。每

我试图解决下面提到的这个问题,但我遇到了一个运行时错误。我用的是Python

问题

算术数组是至少包含两个整数且连续整数之间的差值相等的数组。例如,[9,10]、[3,3,3]和[9,7,5,3]是算术数组,[1,3,3,7]、[2,1,2]和[1,2,4]不是算术数组

Sarasvati有一个由N个非负整数组成的数组。数组的第i个整数是Ai。她想从数组中选择一个具有最大长度的连续算术子数组。请帮助她确定最长连续算术子数组的长度

输入: 输入的第一行给出了测试用例的数量,然后是T.T测试用例。每个测试用例从一行开始,其中包含整数N。第二行包含N个整数。第i个整数是Ai

输出: 对于每个测试用例,输出一行包含用例#x:y,其中x是测试用例编号(从1开始),y是最长连续算术子数组的长度

限制 时间限制:每个测试集20秒。 内存限制:1GB。 1.≤ T≤ 100 0≤ 艾岛≤ 109

测试集1

二,≤ N≤ 2000年

测试集2

二,≤ N≤ 2×105,最多10个测试用例

对于其余病例,2≤ N≤ 2000年。

样本输入

四,

七,

10746811

四,

9 7 5 3

九,

55456

十,

5 4 3 2 1 2 3 4 5 6

输出

案例#1:4

案例2:4

案例#3:3

案例4:6

这是我的python3解决方案,它给出了运行时错误


t = int(input())
for t_case in range(t):
    n = int(input())
    arr = list(map(int, input().split()))
    x = []  
    for i in range(n - 1) : 
        x.append((arr[i] - arr[i + 1]))

    ans, temp = 1, 1
    j = len(x)

    for i in range(1,j): 
        if x[i] == x[i - 1]: 
            temp = temp + 1
        else: 
            ans = max(ans, temp) 
            temp = 1
                  
    ans = max(ans, temp) 

    print(f"Case #{t_case+1}: {ans+1}")


有人能帮我一下吗。

目前Kickstart使用的是不支持f字符串(它们是在py3.6中添加的)。试着用
str.format

替换它们。你能用numpy吗?我不这么认为,我们必须使用内置模块
t=int(input())
for test in range(t):
    n=int(input())
    arr = list(map(int, input().split()))
    x = []  
    for i in range(n - 1) : 
        x.append((arr[i] - arr[i + 1]))

    ans, temp = 1, 1
    j = len(x)

    for i in range(1,j): 
        if x[i] == x[i - 1]: 
            temp = temp + 1
        else: 
            ans = max(ans, temp) 
            temp = 1
                  
    ans = max(ans, temp) 
    print('Case #{0}: {1}'.format(test+1,ans+1))