Skip to content

1491. Average Salary Excluding the Minimum and Maximum Salary 👍

  • Time: $O(n)$
  • Space: $O(1)$
1
2
3
4
5
6
7
8
9
class Solution {
 public:
  double average(vector<int>& salary) {
    const double sum = accumulate(salary.begin(), salary.end(), 0.0);
    const int max = ranges::max(salary);
    const int min = ranges::min(salary);
    return (sum - max - min) / (salary.size() - 2);
  }
};
1
2
3
4
5
6
7
8
class Solution {
  public double average(int[] salary) {
    final double sum = Arrays.stream(salary).sum();
    final int max = Arrays.stream(salary).max().getAsInt();
    final int min = Arrays.stream(salary).min().getAsInt();
    return (sum - max - min) / (salary.length - 2);
  }
}
1
2
3
class Solution:
  def average(self, salary: List[int]) -> float:
    return (sum(salary) - max(salary) - min(salary)) / (len(salary) - 2)