题目来源:
leetcode题目,网址:1619. 删除某些元素后的数组均值 - 力扣(LeetCode)
解题思路:
将数组排序后跳过前面 5% 和后面 5% 计算平均值即可。
解题代码:
class Solution {
public double trimMean(int[] arr) {
double sum=0;
Arrays.sort(arr);
for(int i=(int)(arr.length*0.05);i<(int)(arr.length*0.95);i++){
sum+=arr[i];
}
return sum/(arr.length*0.9);
}
}
总结:
可以一次遍历求平均值,遍历求和时记录 5% 个最大值和 5%个最小值即可。
官方题解是先排序在求部分平均值。