我正在嘗試編碼的練習問題。以下是代碼。我不明白爲什麼需要這麼長時間才能運行。在這裏,輸入A是六個元素的列表,但它需要超過五秒的時間才能運行。有誰能告訴我這個的原因嗎?這段代碼爲什麼需要這麼長時間?
def solution(A):
ln=len(A)
if ln>1:
mid = ln//2
left_h=A[:mid]
right_h=A[mid:]
a=solution(left_h)
b=solution(right_h)
i=0
j=0
tmp=0
while i<mid and j<ln-mid:
if left_h[i]>right_h[j]:
tmp+=1
i+=1
j+=1
return a+b+tmp
else:
return 0
我已經等了一分多鐘,也沒有完成 – Jakub
調試單步或添加打印語句會讓你尋找到代碼卡住。 –