40. A mid-summer night’s dream (CPE10409, UVA10057) - CPE一顆星解答與說明
CPE一顆星49題解答 - pdf 電子檔,售價 199 元,
購買電子檔可將筆記與完整解答帶著走,
坐車、上課時皆可隨時複習,
不受網路或廣告影響,
若有需要請來信購買 greens2314@gmail.com
題目
- 求數列統一減數值 A ,取絕對值並相加的最小值
輸入說明
- 測試資料有多筆
- 資料筆數 n
- 根據資料筆數給多個數值
輸出說明
- 根據每筆測試資料印出
- 最小的中位數,
- 數列中有幾個數值等於中位數
- 中位數有幾種數值
解題技巧
- 中位數
- 奇數個數列: 1 2 3 4 5 ,中位數為 3
- 偶數個數列: 1 2 3 4 5 6,中位數為 3 4
解題過程
取得輸入
- 使用 while 偵測是否有整數輸入
- 取得數列長度
- 宣告與數列長度相同的 int 陣列,用來儲存數列中的數字
- 使用 for 迴圈,根據數列長度讀取多筆數列,並存入陣列中
取得中位數
統計有多少個數值與中位數一樣
- 宣告變數,儲存與中位數相同的數值個數
- 使用 for 迴圈,逐一讀取陣列中的數值
- 判斷數值是否與中位數相等,因偶數個數值有兩個中位數,記得要使用 || or 進行判斷
- 若相等,將個數 + 1
計算中位數可能有哪些數值
- 可能的數值個數公式:中位數相減 + 1
- 以 2 4 4 6 6 8 為例子,中位數為 4 與 6
- 4 ~ 6 之間的數值有 3 個: 4 5 6
- 可透過此公式快速得到可能的數量:6 – 4 + 1 = 3
- 以 2 4 4 5 6 6 8 為例子,中位數為 5
- 5 ~ 5 之間的數值有 1 個: 5
- 可透過此公式快速得到可能的數量:5 – 5 + 1 = 1
- 奇數個數列可能的值只有一種
留言
張貼留言