Skip to content

Commit 6f19882

Browse files
authored
Create mean-of-array-after-removing-some-elements.cpp
1 parent 048ec1b commit 6f19882

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Time: O(n)
2+
// Space: O(1)
3+
4+
class Solution {
5+
public:
6+
double trimMean(vector<int>& arr) {
7+
static const int P = 20;
8+
const int k = size(arr) / P;
9+
nth_element(begin(arr), begin(arr) + k - 1, end(arr));
10+
nth_element(begin(arr) + k, end(arr) - k, end(arr));
11+
return accumulate(begin(arr) + k, end(arr) - k, 0.0) / (size(arr) - 2 * k);
12+
}
13+
};

0 commit comments

Comments
 (0)