1491.去掉最低工资和最高工资后的工资平均值(Java)

题目描述:

给你一个整数数组 salary ,数组里每个数都是 唯一 的,其中 salary[i] 是第 i 个员工的工资。
请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。

输入:

salary = [4000,3000,1000,2000]

输出:

2500.00000
解释:最低工资和最高工资分别是 1000 和 4000 。
去掉最低工资和最高工资以后的平均工资是 (2000+3000)/2= 2500

代码实现:

import java.util.Arrays;

public class Main{
    public static void main(String[] args) {
        //案例
        int[] salary = new int[]{4000, 3000, 1000, 2000};
        System.out.println(average(salary));//2500.0
    }

    public static double average(int[] salary) {
        //排序
        Arrays.sort(salary);
        int sum = 0;//求和
        for (int i = 1; i < salary.length - 1; i++) {
            //排序之后:去头去尾累加
            sum += salary[i];
        }
        //求平均值
        return (double) sum / (salary.length - 2);
    }
}

你可能感兴趣的:(力扣刷题,java,开发语言)