LeetCode 1491. 去掉最低工資和最高工資後的工資平均值

2020-09-28 12:01:34

題目

給你一個整數陣列 salary ,陣列裡每個數都是 唯一 的,其中 salary[i] 是第i 個員工的工資。

請你返回去掉最低工資和最高工資以後,剩下員工工資的平均值。

範例 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

範例 3:

輸入:salary = [6000,5000,4000,3000,2000,1000]
輸出:3500.00000

範例 4:

輸入:salary = [8000,9000,2000,3000,6000,1000]
輸出:4750.00000

提示:

  • 3 <= salary.length <= 100
  • 10^3 <= salary[i] <= 10^6
  • salary[i] 是唯一的。
  • 與真實值誤差在 10^-5 以內的結果都將視為正確答案。

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/average-salary-excluding-the-minimum-and-maximum-salary
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

題解

class Solution {
    public double average(int[] salary) {
		Arrays.sort(salary);
		salary[0] = 0;
		salary[salary.length - 1] = 0;
		double sum = 0;
		for (int i : salary) {
			sum += i;
		}
		return sum / (salary.length - 2);
    }
}

0ms 36.5MB
排序,去除最大值與最小值計算即可


更多題解點選此處