Python 时间复杂度,因为代码不适用于大输入
我不知道为什么这个程序(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
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的说法,如果我尝试启动它,你的代码甚至都不起作用