1. 问题描述
给你一个整数数组 arr ,请你删除最小 5% 的数字和最大 5% 的数字后,剩余数字的平均值。
与 标准答案 误差在 10-5 的结果都被视为正确结果。
2. 解题思路
先排序
再从数组下标5%处开始遍历,到数组下标95%截止
3. 代码实现
class Solution {
public double trimMean(int[] arr) {
int len = arr.length;
int sum = 0;
Arrays.sort(arr);
for (int i = (int)(len * 0.05); i < (int)(len * 0.95); i++) {
sum += arr[i];
}
return sum / (len * 0.9);
}
}
4. 提交结果
执行结果:通过
执行用时:2 ms, 在所有 Java 提交中击败了99.73%的用户
内存消耗:41 MB, 在所有 Java 提交中击败了83.38%的用户
通过测试用例:50 / 50