1491. Average Salary Excluding the Minimum and Maximum Salary

🟩 Easy

You are given an array of unique integers salary where salary[i] is the salary of the i^th employee.

Return the average salary of employees excluding the minimum and maximum salary. Answers within 10^-5 of the actual answer will be accepted.

Example 1

Input: salary = [4000,3000,1000,2000] Output: 2500.00000 Explanation: Minimum salary and maximum salary are 1000 and 4000 respectively. Average salary excluding minimum and maximum salary is (2000+3000) / 2 = 2500

Example 2

Input: salary = [1000,2000,3000] Output: 2000.00000 Explanation: Minimum salary and maximum salary are 1000 and 3000 respectively. Average salary excluding minimum and maximum salary is (2000) / 1 = 2000

Constraints

  • 3 <= salary.length <= 100

  • 1000 <= salary[i] <= 10^6

  • All the integers of salary are unique.

Hint-1

Get the total sum and subtract the minimum and maximum value in the array. Finally divide the result by n - 2.

Solution

My Solution

func average(salary []int) float64 {
    var maxNum, minNum = salary[0], salary[0]
    var sumArr int

    for _, val := range salary {
        sumArr += val

        if val > maxNum {
            maxNum = val
        }

        if val < minNum {
            minNum = val
        }
    }

    return float64(sumArr-minNum-maxNum) / float64(len(salary)-2)
}
result

Leetcode: link

Last updated

Was this helpful?