python 最大 Pairwise Product 时间限制误差
python maximum Pairwise Product time limit error
n = int(input(" "))
arr = list(map(int, input(" ").strip().split()))[:n]
a = arr[0];
b = arr[1];
for i in range (0, n):
for j in range (i+1, n):
if(arr[i] * arr[j] > a * b):
a = arr[i];
b = arr[j];
print("", a*b )
您好,当我将上述代码提交给Corsera的编码评判系统时,
失败案例 #4/17:超出时间限制(使用时间:10.00/5.00,使用内存:22753280/2147483648。)
已返回。我该如何改变它?谢谢。
我会先对值进行排序,然后取两个最大的元素(O(nlog(n)) vs O(n^2)):
a, b = sorted(arr)[-2:]
但是了解 arr
中值的域是什么会很有用(因为负数会破坏我的方法)。
n = int(input(" "))
arr = list(map(int, input(" ").strip().split()))[:n]
a = arr[0];
b = arr[1];
for i in range (0, n):
for j in range (i+1, n):
if(arr[i] * arr[j] > a * b):
a = arr[i];
b = arr[j];
print("", a*b )
您好,当我将上述代码提交给Corsera的编码评判系统时,
失败案例 #4/17:超出时间限制(使用时间:10.00/5.00,使用内存:22753280/2147483648。)
已返回。我该如何改变它?谢谢。
我会先对值进行排序,然后取两个最大的元素(O(nlog(n)) vs O(n^2)):
a, b = sorted(arr)[-2:]
但是了解 arr
中值的域是什么会很有用(因为负数会破坏我的方法)。