題目連結:
題目意譯:
你被給定一個含有相異整數的陣列 salary,其中 salary[i] 為第 i 位員工的薪水。
回傳去除掉最小與最大薪水值後的員工平均薪水。與實際答案誤差位於 10 ^ (-5) 以內的答案都會被接受。
限制:
3 ≦ salary.length ≦ 100
1000 ≦ salary[i] ≦ 10 ^ 6
所有 salary 中的整數皆相異。
範例測資:
範例 1:
輸入: salary = [4000,3000,1000,2000]
輸出: 2500.00000
解釋: 最小薪水值以及最大薪水值依序是 1000 和 4000。
除去最小、最大薪水值後的平均薪水為 (2000 + 3000) ÷ 2 = 2500
範例 2:
輸入: salary = [1000,2000,3000]
輸出: 2000.00000
解釋: 最小薪水值以及最大薪水值依序是 1000 和 3000。
除去最小、最大薪水值後的平均薪水為 (2000) ÷ 1 = 2000
解題思維:
因為 salary 中所有數字皆相異,因此我們直接將 salary 中所有數字相加並在過程中順便求其中的最小與最大值。
最後把總和減去最小、最大值後除以 n - 2 即是所求,其中 n 為陣列 salary 的長度(即數字個數)。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。