通过万岁!!!
- 题目:给你一个数组,然后让你删除5%的小值,然后删除5%的大值,求最后的平均值。
- 思路:排序,然后将前面的5%设置为0,然后后面的5%设置为0,最后将数组求和然后除数组长度-0.1*数组长度即可。
- 技巧:排序
java代码
class Solution {
public double trimMean(int[] arr) {
int length = arr.length;
double len5 = length * 0.05;
Arrays.sort(arr);
for (int i = 0; i < len5; i++) {
arr[i] = 0;
arr[length - 1 - i] = 0;
}
return Arrays.stream(arr).sum() / (length - 2 * len5);
}
}
- 总结:题目比较简单。