2
我正在使用名爲SingPath的網站學習Python。我需要寫的快速排序,但我給出的錯誤:SingPath Quicksort私人測試失敗
"Private Test Results: All the public tests passed but some private tests failed. You need to generalize your solution."
import random
def qsort(l):
if len(l) <= 1:
return l
partition = l[random.randint(0,len(l)-1)]
xx = [x for x in l if x < partition]
yy = [x for x in l if x > partition]
p = [x for x in l if x == partition]
if type(l) != str:
return qsort(xx) + p + qsort(yy)
return ''.join(qsort(xx)+p+qsort(yy))
任何幫助上找出爲什麼這個代碼是不夠普遍將不勝感激。
兩條線索我一直在思考是:
- 他們提到的運行時檢查的問題描述
- 他們說,當
qsort()
被賦予一個字符串,而不是一個列表,應該必須的能力作爲列表返回或作爲字符串返回