Giả sử chúng ta có mảng gọi là nums, chúng ta phải tìm giá trị trung bình của các giá trị còn lại sau khi loại bỏ 5% nhỏ nhất và 5% lớn nhất của các phần tử.
Vì vậy, nếu đầu vào là nums =[2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8] , thì đầu ra sẽ là 4,0 vì sau khi loại bỏ các giá trị nhỏ nhất và lớn nhất, tất cả đều giống nhau, khi đó giá trị trung bình là
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
sắp xếp số lượng danh sách
-
n:=kích thước của nums
-
per:=thương số của (n * 5/100)
-
l2:=mảng con gồm các số từ chỉ mục trên mỗi đến (kích thước của số - mỗi - 1)
-
x:=trung bình của tất cả các phần tử trong l2
-
trả lại x
Ví dụ (Python)
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
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))
Đầu vào
[2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]
Đầu ra
4.0