Giả sử ta có mảng nums, tìm trung bình các giá trị còn lại sau khi loại bỏ 5% nhỏ nhất và 5% lớn nhất.
Ví dụ: nums = [2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8], kết quả 4.0 vì sau khi loại min/max, tất cả đều là 4.
Giải thuật
- Sắp xếp
nums n := len(nums)per := int(n * 5 / 100)l2 := nums[per : len(nums) - per]x := sum(l2) / len(l2)- Trả về
x
Ví dụ (Python)
def solve(nums):
nums.sort()
n = len(nums)
per = int(n * 5 / 100)
l2 = nums[per:len(nums)-per]
x = sum(l2) / len(l2)
return x
nums = [2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]
print(solve(nums))
Input
[2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]
Output
4.0