สมมติว่าเรามีอาร์เรย์ที่เรียกว่า nums เราต้องหาค่าเฉลี่ยของค่าที่เหลือหลังจากลบ 5% ที่น้อยที่สุดและ 5% ที่ใหญ่ที่สุดออก
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8] แล้วผลลัพธ์จะเป็น 4.0 เพราะหลังจากลบค่าที่เล็กที่สุดและใหญ่ที่สุด ทั้งหมดจะเท่ากัน แล้วค่ามัธยฐานคือ
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
เรียงเลขรายการ
-
n :=ขนาดของ nums
-
ต่อ :=ผลหารของ (n*5/100)
-
l2 :=subarray ของ nums จากดัชนีต่อ ถึง (ขนาดของ nums - per - 1)
-
x :=ค่าเฉลี่ยขององค์ประกอบทั้งหมดใน l2
-
ผลตอบแทน x
ตัวอย่าง (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))
อินพุต
[2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]
ผลลัพธ์
4.0