Introduction: This article is compiled by the editor of Programming Notes# for you. It mainly introduces the knowledge related to the average value of the array after deleting some elements in “Practice every day, happy water question” 1619. I hope it will be helpful to you reference value.
Article Table of Contents
-
- 🔴 Li button the original title :
- 🟠Brief description of the topic:
- 🟡Problem solving ideas:
- 🟢C++ ;code :
- 🔵result display :
🔴Lee deduction original title:
1619. Array mean value after deleting some elements
🟠 ;Title Description :
Give you an integer array arr , Please delete the smallest 5% of the numbers and the largest 5% of the numbers , the average of the remaining numbers.
A result within 10-5 of the standard answer is considered correct.
Example 1 :
Enter :arr = [1,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,3]
Output :2.00000
Explanation :after removing the largest and smallest elements in the array: xff0c;All elements are equal to 2,so the average is 2.
Example 2 :
Enter :arr = [6,2,7,5,1,2,0,3,10,2,5,0 ,5,5,0,8,7,6,8,0]
Output :4.00000
Example 3 :
Input :arr & #61; [6,0,7,0,7,5,7,8,3,4,0,7,8,1,6,8,1,1,2,4,8,1,9, 5,4,3,8,5,10,8,6,6,1,0,6,10,8,2,3,4]
Output :4.77778
Example 4& #xff1a;
Enter :arr=[9,7,8,7,7,8,4,4,6,8,8,7,6,8,8 ,9,2,6,0,0,1,10,8,6,3,3,5,1,10,9,0,7,10,0,10,4,1,10,6,9 ,3,6,0,0,2,7,0,6,7,2,9,7,7,3,0,1,6,1,10,3]
output : 5.27778
Example 5 :
Input :arr = [4,8,4,10,0,7,1,3,7,8,8, 3,4,1,6,2,1,1,8,0,9,8,0,3,9,10,3,10,1,10,7,3,2,1,4,9, 10,7,6,4,0,8,5,1,2,1,6,2,5,0,7,10,9,10,3,7,10,5,8,5,7, 6,7,6,10,9,5,10,5,5,7,2,10,7,7,8,2,0,1,1]
output :5.29167
Hint :
20 <&# 61; arr.length <&# 61; 1000
arr.length is a multiple of 20
0 <& #61; arr[i] <= 105
🟡problem-solving ideas:
- Simulation&# xff01;simulation !simulation !
- over;
🟢C++code+ xff1a;
class Solution
public:
double trimMean(vector< int& arr)
sort (arr.begin(),arr. end());
int n = arr.size();
int res =
span> 0;
for(int i = n*0.05; i 0.95*n; i++)
res += arr[i];
return res/(0.9 *n);
;