Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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 时间复杂度,因为代码不适用于大输入_Python_Python 2.7 - Fatal编程技术网

Python 时间复杂度,因为代码不适用于大输入

Python 时间复杂度,因为代码不适用于大输入,python,python-2.7,Python,Python 2.7,我不知道为什么这个程序(python)中的大输入会超过时间限制 有人能解释一下吗 是因为ZIP功能吗 我已经使用了ZIP函数。这个程序只对小的输入文件运行 代码如下: for i in range(input()): x=[] y=[] l=[] ans=0 z=0 for j in range(input()): a,b=map(int,raw_input().split(" ")) x.append(a) y.append(b) l=[list(l) for

我不知道为什么这个程序(python)中的大输入会超过时间限制

有人能解释一下吗

是因为
ZIP
功能吗

我已经使用了ZIP函数。这个程序只对小的输入文件运行

代码如下:

for i in range(input()):
x=[]
y=[]
l=[]
ans=0
z=0
for j in range(input()):
    a,b=map(int,raw_input().split(" "))
    x.append(a)
    y.append(b)
    l=[list(l) for l in zip(x, y)]
    qq=[list(qq) for qq in zip(x, y)]
l.sort()



x_max=int(max(x))
x_pos=x.index(x_max)+1
x_min=int(min(x))
x_posmin=x.index(x_min)+1
y_max=int(max(y))
y_pos=y.index(y_max)+1
y_min=int(min(y))
y_posmin=y.index(y_min)+1
for k in range(len(x)):
    if(x[k]==x_max and y[k]==y_max):
        print "1"
        print "%d SW"%(k+1)
        z=1
        break
    elif(x[k]==x_max and y[k]==y_min):
        print "1"
        print "%d NW"%(k+1)
        z=1
        break
    elif(x[k]==x_min and y[k]==y_min):
        print "1"
        print "%d NE"%(k+1)
        z=1
        break
    elif(x[k]==x_min and y[k]==y_max):
        print "1"
        z=1
        print "%d SE"%(k+1)
        break

if(z==0):
    print "2"
    o=l[0]
    n=l[-1]
    kk=qq.index(o)
    zz=qq.index(n)
    if(o[1]<n[1]):

        print "%d NE"%(kk+1)
        print "%d SW"%(zz+1)
    else:
        print "%d SE"%(kk+1)
        print "%d NW"%(zz+1)
范围内i的
(输入()):
x=[]
y=[]
l=[]
ans=0
z=0
对于范围内的j(输入()):
a、 b=map(int,原始输入().split(“”)
x、 附加(a)
y、 附加(b)
l=[在zip(x,y)中为l列出(l)]
qq=[zip(x,y)中qq的列表(qq)]
l、 排序()
x_max=int(max(x))
x_pos=x.索引(x_max)+1
x_min=int(min(x))
x_posmin=x.索引(x_min)+1
y_max=int(max(y))
y_pos=y.索引(y_max)+1
y_min=int(min(y))
y_posmin=y.索引(y_min)+1
对于范围内的k(len(x)):
如果(x[k]==x_max和y[k]==y_max):
打印“1”
打印“%d SW”%(k+1)
z=1
打破
elif(x[k]==x_最大值和y[k]==y_最小值):
打印“1”
打印“%d NW”%(k+1)
z=1
打破
elif(x[k]==x_min和y[k]==y_min):
打印“1”
打印“%d NE”%(k+1)
z=1
打破
elif(x[k]==x_最小值和y[k]==y_最大值):
打印“1”
z=1
打印“%d SE”%(k+1)
打破
如果(z==0):
打印“2”
o=l[0]
n=l[-1]
kk=qq.index(o)
zz=qq.index(n)

如果(o[1]我真的不知道你所说的“超过时限”是什么意思。此外,代码中的缩进似乎有问题。这在Python中是一个问题。
l
的第二个赋值是否在循环中?为什么?为什么
qq
也在循环中?我同意strubbly的说法,如果我尝试启动它,你的代码甚至都不起作用