該代碼的目標是查看序列是否幾乎增加,也就是說,可以通過刪除單個元素來嚴格增加序列。Python:如何有效地檢查序列是否正在增加
例如:[1, 3, 2, 3]
將嚴格增加,如果在索引1的元素被刪除。 [1, 2, 1, 2]
幾乎沒有增加,因爲如果你刪除了第一個'2',你會得到[1, 1, 2]
這不是嚴格增加。
我的代碼必須在4000毫秒內工作,其長度爲2 <= len <= 10^5
。它很可能被很長的序列所困擾。
下面是代碼:
def almostIncreasingSequence(sequence):
for i in range(len(sequence)):
c = sequence.pop(i)
if sequence == sorted(sequence):
for item in sequence:
if sequence.count(item) != 1:
break
else:
return True
sequence.insert(i, c)
return False
它應該做什麼? – Ryan
你能顯示一些輸入和預期的輸出嗎? – AChampion
無論它看起來像一個可憎的東西。 –