1.排序,后求和,但是时间复杂度不行
2.经过一次迭代之后找出最大值以及最小值,并在迭代过程中求和
class Solution(object):
def average(self, salary):
"""
:type salary: List[int]
:rtype: float
"""
min_idx=0
max_idx=0
sum=0
num=len(salary)
for i in range(num):
sum+=salary[i]
if salary[i]<salary[min_idx]:
min_idx=i
if salary[i]>salary[max_idx]:
max_idx=i
sum=sum-salary[min_idx]-salary[max_idx]
return sum/(num-2.0)