1614. Maximum Nesting Depth of the Parentheses #
题目 #
-
给你一个整数数组
arr
,请你删除最小5%
的数字和最大5%
的数字后,剩余数字的平均值。 -
与 标准答案 误差在
10-5
的结果都被视为正确结果。
思路 #
堆 #
排序 #
代码 #
栈 #
class Solution {
public double trimMean(int[] arr) {
Queue<Integer> minimum = new PriorityQueue<>((o1, o2) -> o2-o1);
Queue<Integer> maximum = new PriorityQueue<>();
int sum = 0;
for (int num: arr) {
sum += num;
if (minimum.size() == 0.05 * arr.length) {
if (num < minimum.peek()) {
minimum.poll();
minimum.offer(num);
}
}
else minimum.offer(num);
if (maximum.size() == 0.05 * arr.length) {
if (num > maximum.peek()) {
maximum.poll();
maximum.offer(num);
}
}
else maximum.offer(num);
}
for (int num: minimum) sum -= num;
for (int num: maximum) sum -= num;
return (double) sum / (0.9 * arr.length);
}
}