कार्य
पूर्णांक x 1 … x n की इनपुट सूची को देखते हुए , रैंक r 1 … r n ( {1… n} का क्रमचय) की सूची की गणना करें ताकि x r 1 r x r 2 ≤… r x r n । फिर, प्रत्येक के लिए एक्स मैं , लेकिन उसकी रैंक सभी मूल्यों के रैंक का समांतर माध्य से में बदलने के एक्स के बराबर हैं एक्स मैं । (अर्थात्, जब भी x में समान मूल्यों के बीच एक टाई होती है, तो उन सभी के बीच रैंक को काफी पुनर्वितरित करता है।) रैंकों की संशोधित सूची r ' 1 ... r' आउटपुट करेंn ।
(आंकड़े गीक्स के लिए: मान-व्हिटनी यू टेस्ट (विधि दो, चरण 1) में टिप्पणियों की ऐसी रैंकिंग का उपयोग किया जाता है )
उदाहरण
एक इनपुट सूची [3, -6, 3, 3, 14, 3] को देखते हुए , रैंक की पहली सूची [2, 1, 3, 4, 6, 5] होगी, जो सूची को [-6, में क्रमबद्ध करेगी । 3, 3, 3, 3, 14] । फिर, इनपुट सूची में सभी 3 s के लिए रैंक (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]
नियम
यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कोड जीत जाता है।