連續增加元件的數量我在TalentBuddy一個問題,這聽起來像這樣查找列表
學生在實驗室活動的表現應該不斷的提高,但事實並非總是如此。 因爲進步是學生最重要的指標之一,所以讓我們編寫一個程序,計算任何給定學生提高績效的最長時間。例如,如果他在一門課程中的所有實驗室活動的成績分別是:9,7,8,2,5,5,8,7,那麼最長的時間段將是連續4個實驗室(2,5,5,8)。
到目前爲止,我似乎對代碼工作感到困惑。只是我工作的事情是
def longest_improvement(grades):
res = 0
for i in xrange(len(grades) - 2):
while grades[i] <= grades[i + 1]:
res += 1
i += 1
print res
但是,打印17
,而不是6
時grades = [1, 7, 2, 5, 6, 9, 11, 11, 1, 6, 1]
。
如何制定出其餘的代碼?謝謝
我覺得Tim在Tim Sort中使用了這個想法... :) – thefourtheye