给你一个整数数组 salary ,数组里每个数都是 唯一 的,其中 salary[i] 是第 i 个员工的工资。
请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。
示例 1:
输入:salary = [4000,3000,1000,2000]
输出:2500.00000
解释:最低工资和最高工资分别是 1000 和 4000 。
去掉最低工资和最高工资以后的平均工资是 (2000+3000)/2= 2500
来源:力扣(LeetCode)
排序 去头去尾 人数减2;
double average(int* salary, int salarySize)
{
//自己的排序
for(int i=0;i<salarySize-1;i++)
{
for(int j=0;j<salarySize-i-1;j++)
{
if(salary[j]>salary[j+1])
{
double tmp=salary[j];
salary[j]=salary[j+1];
salary[j+1]=tmp;
}
}
}
double ans=0;
for(int i=1;i<salarySize-1;i++)//去头去尾
{
ans+=salary[i];
}
return ans/(salarySize-2);
}