diff options
author | jack <[email protected]> | 2024-06-14 13:13:15 -0600 |
---|---|---|
committer | jack <[email protected]> | 2024-06-14 13:13:15 -0600 |
commit | d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa (patch) | |
tree | 96df922dae2a5073d9a50ea70c7aae6aa37e3ebe /avg_salary.cpp | |
download | leetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.tar.gz leetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.zip |
initial
Diffstat (limited to 'avg_salary.cpp')
-rw-r--r-- | avg_salary.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/avg_salary.cpp b/avg_salary.cpp new file mode 100644 index 0000000..12d49ce --- /dev/null +++ b/avg_salary.cpp @@ -0,0 +1,32 @@ +// 1491. Average Salary Excluding the Minimum and Maximum Salary +#include "leetcode.h" + +/* + * given an array of unique integers 'salary' where 'salary[i]' is the salaray + * of the i'th employee. return the average salary of employees excluding the + * minimum and maximum salary. answer within 10^-5 of actual answer + */ + +class Solution { +public: + double average(vector<int> &salary) { + double max = DBL_MIN, min = DBL_MAX, sum = 0; + for (int i = 0; i < salary.size(); i++) { + sum += salary[i]; + if (salary[i] < min) + min = salary[i]; + if (salary[i] > max) + max = salary[i]; + } + sum = sum - min - max; + return sum / (salary.size() - 2); + } +}; + +int main() { + Solution obj; + vector<int> s1 = {4000, 3000, 1000, 2000}; + vector<int> s2 = {1000, 2000, 3000}; + printf("%f\n", obj.average(s1)); // expect: 2500.00000 + printf("%f\n", obj.average(s2)); // expect: 2000.00000 +} |