当前位置: 代码迷 >> 综合 >> 1491. 去掉最低工资和最高工资后的工资平均值(简单)- LeetCode
  详细解决方案

1491. 去掉最低工资和最高工资后的工资平均值(简单)- LeetCode

热度:18   发布时间:2024-01-31 16:05:49.0

题目描述

在这里插入图片描述

自己解法

直接按题目思路模拟,没有使用API。时间复杂度 O ( n ) O(n) ,空间复杂度 O ( 1 ) O(1)

class Solution:def average(self, salary: List[int]) -> float:minIndex,maxIndex = 0,0L = len(salary)for i in range(1,L):if salary[i] < salary[minIndex]:minIndex = iif salary[i] > salary[maxIndex]:maxIndex = isumSalary = 0for i,val in enumerate(salary):if i == minIndex or i == maxIndex:continueelse:sumSalary += valreturn sumSalary / (L - 2)

在这里插入图片描述
使用API的版本:

class Solution:def average(self, salary: List[int]) -> float:maxVal,minVal = max(salary),min(salary)salary.remove(maxVal)salary.remove(minVal)return sum(salary) / len(salary)

在这里插入图片描述