งาน
รับรายการการป้อนข้อมูลของจำนวนเต็มx 1 ... x nคำนวณรายการอันดับr 1 ... R n (กการเปลี่ยนแปลงของ{1} ... n ) เพื่อที่x R 1 ≤ x R 2 ≤≤ x ... R n แล้วสำหรับแต่ละx ฉันเปลี่ยนตำแหน่งของตนโดยมีค่าเฉลี่ยเลขคณิตของการจัดอันดับของค่าทั้งหมดในxที่เท่ากับxฉัน (นั่นคือเมื่อใดก็ตามที่มีการเสมอกันระหว่างค่าที่เท่ากันในxให้แบ่งอันดับใหม่อย่างเป็นธรรมในหมู่พวกเขาทั้งหมด) เอาท์พุทรายการแก้ไขของอันดับr ' 1 … r'n .
(สำหรับสถิติ geeks: การจัดอันดับของการสังเกตดังกล่าวถูกนำมาใช้ในMann-Whitney Uทดสอบ (วิธีสองขั้นตอนที่ 1))
ตัวอย่าง
รับรายการอินพุต[3, -6, 3, 3, 14, 3]รายการอันดับแรกจะเป็น[2, 1, 3, 4, 6, 5]ซึ่งจะเรียงลำดับรายการเป็น[-6, 3, 3, 3, 3, 14] จากนั้นการจัดอันดับทั้งหมด3ในรายการการป้อนข้อมูลที่จะคืนสู่สภาพปกติออกไป(2 + 3 + 4 + 5) ÷ 4 = 3.5 ผลลัพธ์สุดท้ายคือ[3.5, 1, 3.5, 3.5, 6, 3.5]
กรณีทดสอบ
[4, 1, 4] -> [2.5, 1.0, 2.5]
[5, 14, 14, 14, 14, 5, 14] -> [1.5, 5.0, 5.0, 5.0, 5.0, 1.5, 5.0]
[9, 9, -5, -5, 13, -5, 13, 9, 9, 13] -> [5.5, 5.5, 2.0, 2.0, 9.0, 2.0, 9.0, 5.5, 5.5, 9.0]
[13, 16, 2, -5, -5, -5, 13, 16, -5, -5] -> [7.5, 9.5, 6.0, 3.0, 3.0, 3.0, 7.5, 9.5, 3.0, 3.0]
กฎระเบียบ
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ