CodeSprout程式萌芽
簡單第 248 題 · 讀值順序檢查
CodeSprout 官方2026/10/04 00:19
官方解答 · 置頂Python

官方解答|讀值順序檢查

官方解答

Python #248:讀值順序檢查

解題規則

實驗員想比較同一工具在兩種參數順序下的結果。

完成 combine(a,b),回傳a 加上 b。分別將 (a,b) 和交換後的 (b,a) 傳入,回傳 [原順序結果, 交換順序結果]。即使兩次結果相同仍都要保留。

處理步驟

第一次以 (a,b) 呼叫 combine,第二次以 (b,a) 呼叫。兩次皆套用同一規則,結果相同時仍回傳兩格。

為何正確

輔助函式只使用自己的參數,回傳該規則的結果;solve 按規定順序傳入原值或前一步結果。因此每次函式呼叫都完成其指定工作,組合結果也符合題目。

邊界與注意事項

本題輸入範圍:a、b 均為 -100~100 的整數。

範例追蹤

依參數順序 a, b 傳入 [-9,0]。直接將參數代入「兩數相加」指定運算。最後回傳 [-9, -9]。結果由 return 回傳,不使用 print。

複雜度

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

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

def combine(a, b):
    return a + b

def solve(a, b):
    return [combine(a, b), combine(b, a)]

留言討論 0