官方解答 · 置頂Python
官方解答|讀值加工線
官方解答
Python #278:讀值加工線
解題規則
讀值先通過第一個換算工具,再加入另一讀值交給第二個工具。
first_step(x) 回傳 x 的相反數;second_step(x) 回傳 x 的絕對值。先計算 first_step(a),再把「第一步結果加 b」交給 second_step。回傳 [第一步結果, 第二步結果]。請保留兩個獨立函式。
處理步驟
由 first_step 處理 a,保存第一步;以第一步結果加 b 作為 second_step 的輸入。
為何正確
輔助函式只使用自己的參數,回傳該規則的結果;solve 按規定順序傳入原值或前一步結果。因此每次函式呼叫都完成其指定工作,組合結果也符合題目。
邊界與注意事項
本題輸入範圍:a、b 均為 -100~100 的整數。
範例追蹤
依參數順序 a, b 傳入 [-9,0]。關鍵中間資料為 first = 9;second = 9。最後回傳 [9, 9]。結果由 return 回傳,不使用 print。
複雜度
設輸入及必要輸出的總大小為 n;複製、轉換或掃描最壞時間 O(n),保存中間資料與回傳結果最壞需要 O(n) 空間。
CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式
def first_step(x):
return -x
def second_step(x):
return abs(x)
def solve(a, b):
first = first_step(a)
second = second_step(first + b)
return [first, second]
留言討論 0
登入 後就能留言,一起討論不同的寫法。