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。)
已被退回。我怎樣才能改變它?謝謝你。
uj5u.com熱心網友回復:
我首先對值進行排序,然后取兩個最大的元素(O(nlog(n)) vs O(n^2)):
a, b = sorted(arr)[-2:]
但是知道值的域是什么會很有用arr(因為負數會破壞我的方法)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/365903.html
