CodeSprout程式萌芽
中等第 69 題 · 樣本極值卡
CodeSprout 官方2026/10/04 00:19
官方解答 · 置頂Python

官方解答|樣本極值卡

官方解答

Python #69:樣本極值卡

解題規則

記錄員先整理樣本,再由整理後的資料產生摘要。

先從 values 建立新清單:保留原本順序。再回傳 [新清單, 整理後最大值減最小值,空時為0]。第二項只能使用整理後的清單計算,原輸入不能被改寫。

處理步驟

先從原 values 計算 result,再只用 result 算第二項摘要,回傳 [result,摘要];不可對原清單先算摘要。

為何正確

程式只讀取原輸入,不做原地修改。切片、串接或排序依指定規則產生結果;多步驟的第二步使用第一步結果,而摘要讀取題目指定的清單,因此順序、快照與統計來源一致。

邊界與注意事項

本題輸入範圍:清單長度 0~12;每個值為 -100~100 的整數。 除題目指定的篩選或移除外,保留原資料的重複項與順序;使用切片或明確判斷安全處理允許的空資料。

範例追蹤

依參數順序 values 傳入 [[3,-2,0,5,-2]]。關鍵中間資料為 result = [3, -2, 0, 5, -2]。最後回傳 [[3, -2, 0, 5, -2], 7]。結果由 return 回傳,不使用 print。

複雜度

設輸入及必要輸出的總大小為 n;複製、轉換或掃描最壞時間 O(n),保存中間資料與回傳結果最壞需要 O(n) 空間。

CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式

def solve(values):
    result = values
    return [result, max(result) - min(result) if result else 0]

留言討論 0