Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình tìm trung bình mảng sau khi loại bỏ phần tử trong Python

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

  1. Sắp xếp nums
  2. n := len(nums)
  3. per := int(n * 5 / 100)
  4. l2 := nums[per : len(nums) - per]
  5. x := sum(l2) / len(l2)
  6. 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