LeetCode Brush Questions1491。最低賃金と最高賃金を取り除いた後の平均賃金
どこに行くのかわかりませんが、もう途中です! |
会ったことはありませんが、時間は急いでいますが、ユシに会いました。本当に素晴らしい運命です。ご来店ありがとうございました! |
- トピック:
整数の配列を指定します。配列内のsalary
各数値は一意であり、賃金のsalary[i]
最初のi
従業員です。
最低賃金と最高賃金を取り除いた後、従業員の平均賃金を返還してください。
- 例:
示例 1 :
输入:salary = [4000,3000,1000,2000]
输出:2500.00000
解释:最低工资和最高工资分别是 1000 和 4000 。
去掉最低工资和最高工资以后的平均工资是 (2000+3000)/2= 2500
示例 2 :
输入:salary = [1000,2000,3000]
输出:2000.00000
解释:最低工资和最高工资分别是 1000 和 3000 。
去掉最低工资和最高工资以后的平均工资是 (2000)/1= 2000
示例 3 :
输入:salary = [6000,5000,4000,3000,2000,1000]
输出:3500.00000
示例 4 :
输入:salary = [8000,9000,2000,3000,6000,1000]
输出:4750.00000
- ヒント:
3 <= salary.length <= 100
10^3 <= salary[i] <= 10^6
salary[i]
唯一。
- そして、
10^-5
結果のエラーの実際の値は、正解の範囲内で考慮されます。
- コード1:
class Solution:
def average(self, salary: List[int]) -> float:
salary.sort()
return sum(salary[1:-1]) / (len(salary)-2)
- アルゴリズムの説明:
最初に配列を並べ替え、最大値と最小値を削除してから、平均します。