मैं इस समस्या में भाग गया, जबकि इस साइट के लिए एक और चुनौती पर काम कर रहा हूं। उस चुनौती में मैं " मारियो कार्ट 8 स्कोरिंग " का उपयोग करता हूं । खिलाड़ी को k वें स्थान पर जितने अंक मिलते हैं, उसे इस 1-अनुक्रमित सरणी द्वारा दर्शाया जाता है: [15,12,10,9,8,7,6,5,4,3,2,1]। तो 1 स्थान को 15 अंक मिलते हैं, दूसरे स्थान को 12 अंक मिलते हैं, आदि।
इस तरह से अंक निर्दिष्ट करना काफी आसान है, हालांकि मुश्किल हिस्सा यह आता है कि मैं कैसे संबंधों को संभालता हूं। मैं जो कुछ करता हूं वह प्रत्येक बांधने वाले खिलाड़ी को प्रत्येक बांधने की जगह के लिए दिए गए अंकों का औसत देता है। उदाहरण के लिए, यदि केवल 1 और 2 को बांधा जाता है, तो दोनों खिलाड़ियों को (15 + 12) / 2 = 13.5 अंक मिलते हैं। (ध्यान दें: आपको निकटतम इंट में प्रवेश करने की अनुमति है, इसलिए 13 या 14 दोनों भी स्वीकार्य हैं।) फिर 3 - 12 वें स्थान पर अपनी स्थिति के लिए सामान्य राशि प्राप्त करें।
चुनौती
12 गैर-नकारात्मक पूर्णांक स्कोर जो कि क्रमिक रूप से क्रमबद्ध हैं, को देखते हुए प्रत्येक खिलाड़ी को प्राप्त अंकों की संख्या को आउटपुट करता है। आप इनपुट के रूप में अंक सूची [15,12,10,9, ...] भी ले सकते हैं। ध्यान दें कि प्रत्येक खिलाड़ी को जितने अंक मिलते हैं, वह अंकों के वास्तविक मूल्यों पर निर्भर नहीं करता है, लेकिन वे अन्य अंकों की तुलना कैसे करते हैं।
परीक्षण के मामलों
- [21,21,15,14,12,9,6,5,4,3,2,1] => [ 14,14 , 10,9,8,7,6,5,4,3,2, 1]
- [20,15,15,15,10,9,8,7,6,5,4,3,3] => [15, 10,10,10 , 8,7,6,5,4,3,2, 1]
- स्पष्टीकरण: (१२ + १० + ९) / ३ = १०.३३३३
- [1,1,1,1,1,1,1,1,1,1,1,1] => [ 7,7,7,7,7,7,7,7,7,7,7, 7 ]
- स्पष्टीकरण: (१५ + १२ + १० + ९ + + + + + ६ + ५ + ४ + ३ + २ + १) / १२- +.९ ४. 12३
- [20,20,20,20,10,10,10,9,8,7,6,5] => [ 12,12,12,12 , 7,7,7 , 5,4,3,2 1]
- स्पष्टीकरण: (१५ + १२ + १० + ९) / ४ = ११.५, (+ +) + ६) / ३ = 12
- [100,99,98,95,95,95,94,93,93,92,91,91] => [[15,12,10, 8,8,8 , 6, 5,5 , 3, 2, 2 2 ]
- स्पष्टीकरण: (९ + 7 + /) / ३ = 8, (५ + ४) / २ = ४.५, (२ + १) / २ / १-१