下面是我的代碼。對於小值它返回我正確的答案我在這裏做的是找到任何兩個數字之間的最小差異,以便它不形成負面值。 其實輸入線是每年的成本,我需要找到最小的損失(是的,它必須是一個損失)。 當輸入很大時,說20000個數字,我得到一個超時錯誤。 以下是測試用例的鏈接:https://hr-testcases-us-east-1.s3.amazonaws.com/27771/input12.txt?AWSAccessKeyId=AKIAJ4WZFDFQTZRGO3QA&Expires=1502978445&Signature=vKwJ0MC3G1U3DXKE1N0qSruD5EI%3D&response-content-type=text%2Fplain如何優化我的代碼以運行大值也
第一行包含數值,後續行包含值。
#!/bin/python
import sys
number = long(raw_input().strip())
cost=map(long,raw_input().strip().split())
flag=1
j=0
mincost=max(cost)
print (mincost)
while j < number:
k=j+1
while k<number:
if mincost>abs(cost[j] - cost[k]) and cost[j]> cost[k]:
mincost=abs(cost[j] - cost[k])
k+=1
j+=1
print mincost
究竟是什麼意思「不形成負數」? – MSeifert
這意味着差異不應該小於0.真正的問題陳述涉及以下每個值作爲多年來房屋的成本。問題涉及最低成本,以便我以最小損失出售它(應該是虧損)。例如:測試案例:3 5 10 3這裏房子可以以5-3 = 2 PS的價格出售:前3個是超過它的價值數量。 –