Leetcode daily # 1.05.2023
[1491. Average Salary Excluding the Minimum and Maximum Salary]
1.05.2023
1491. Average Salary Excluding the Minimum and Maximum Salary easy
fun average(salary: IntArray): Double = with (salary) {
(sum() - max()!! - min()!!) / (size - 2).toDouble()
}
or
fun average(salary: IntArray): Double = salary.sorted().drop(1).dropLast(1).average()
Join me on Telegram
https://t.me/leetcode_daily_unstoppable/198
Intuition
Just do what is asked.
Approach
We can do .fold and iterate only once, but sum, max and min operators are less verbose.
We also can sort it, that will make code even shorter.
Complexity
Time complexity:
O(n), O(nlog(n)) for sortedSpace complexity:
O(1)

