题目描述
自己解法
直接按题目思路模拟,没有使用API。时间复杂度 O ( n ) O(n) O(n),空间复杂度 O ( 1 ) O(1) O(1)。
class Solution:
def average(self, salary: List[int]) -> float:
minIndex,maxIndex = 0,0
L = len(salary)
for i in range(1,L):
if salary[i] < salary[minIndex]:
minIndex = i
if salary[i] > salary[maxIndex]:
maxIndex = i
sumSalary = 0
for i,val in enumerate(salary):
if i == minIndex or i == maxIndex:
continue
else:
sumSalary += val
return 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)