चुनौती:
पूर्णांक की एक सूची को देखते हुए, उनके सबसे बड़े अंक (ओं) द्वारा उतरते हुए क्रमबद्ध करें। उसी सबसे बड़े अंक वाली संख्याओं के लिए क्रम दूसरे सबसे बड़े अंकों के आधार पर क्रमबद्ध होता है, आदि
हम संख्याओं में डुप्लिकेट अंकों की उपेक्षा करते हैं। और यदि किसी संख्या में सभी अंक समान हैं, तो सूची में उन संख्याओं का क्रम किसी भी तरह से हो सकता है जो आप चाहते हैं।
उदाहरण:
Input: [123, 478, -904, 62778, 0, -73, 8491, 3120, 6458, -7738, 373]
Possible outputs: [8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0]
[8491, -904, 62778, 478, -7738, 6458, -73, 373, 3120, 123, 0]
क्यूं कर? प्रासंगिक अंक यहां दिए गए हैं:
Output:
[8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0 ]
Relevant digits they were sorted on:
[[9,8], [9,4], [8,7,6], [8,7,4], [8,7,3], [8,6], [7,3], [7,3], [3,2,1,0], [3,2,1], [0]]
चुनौती नियम:
- हम डुप्लिकेट अंक की अनदेखी, तो
478
और-7738
के रूप में आदेश दिया जा जाएगा478, -7738
, क्योंकि सबसे बड़ा अंक हैं[8,7,4]
और[8,7,3]
, और नहीं[8,7,4]
और[8,7,7,3]
। - यदि कई संख्याओं में समान अंक हैं, तो उन का क्रम किसी भी तरह हो सकता है। तो
373
और-73
दोनों के रूप में हल किया जा सकता है (373, -73
या-73, 373
अंक[7,3]
इन दोनों संख्याओं के लिए हैं)। - यदि किसी संख्या में जांच के लिए अधिक अंक नहीं हैं, तो उसे संबंधित नंबरों के पीछे रखा जाएगा। इसलिए
123
और3120
जैसे-जैसे क्रमबद्ध होगा3120, 123
, क्योंकि सबसे बड़े अंक[3,2,1]
समान होंगे, लेकिन0
पहले आते हैंnone
। - आप मान सकते हैं कि इनपुट में सभी नंबर सीमा में हैं
[-999999,999999]
। - परिणाम के रूप में संभावित आउटपुट में से केवल एक ही पर्याप्त है, लेकिन आपको उन सभी संभावित आउटपुट को आउटपुट करने की अनुमति है जहां सब्लिस्ट किसी भी क्रम में हो सकते हैं यदि आप चाहें (हालांकि मुझे संदेह है कि यह किसी भी भाषा में बाइट्स को बचाएगा)।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव कम उत्तर के साथ आने की कोशिश करें। - डिफ़ॉल्ट I / O नियमों के साथ आपके उत्तर के लिए मानक नियम लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-प्रकार, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा कॉल।
- डिफ़ॉल्ट लूपोल्स निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड (यानी TIO ) के लिए एक परीक्षण के साथ एक लिंक जोड़ें ।
- साथ ही, आपके उत्तर के लिए स्पष्टीकरण जोड़ने की अत्यधिक अनुशंसा की जाती है।
परीक्षण के मामलों:
Input: [123, 478, -904, 62778, 0, -73, 8491, 3120, 6458, -7738, 373]
Possible outputs: [8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0]
[8491, -904, 62778, 478, -7738, 6458, -73, 373, 3120, 123, 0]
Input: [11, -312, 902, 23, 321, 2132, 34202, -34, -382]
Possible outputs: [902, -382, 34202, -34, -312, 321, 2132, 23, 11]
[902, -382, 34202, -34, 2132, -312, 321, 23, 11]
etc. The sublist [-312, 321, 2132] can be in any permutation
Input: [9, 44, 2212, 4, 6, 6, 1, 2, 192, 21, 29384, 0]
Possible outputs: [29384, 192, 9, 6, 6, 4, 44, 2212, 21, 2, 1, 0]
[29384, 192, 9, 6, 6, 44, 4, 2212, 21, 2, 1, 0]
etc. The sublists [4, 44] and [2212, 21] can be in any permutation
Input: [44, -88, 9, 233, -3, 14, 101, 77, 555, 67]
Output: [9, -88, 67, 77, 555, 14, 44, 233, -3, 101]
m:g/\d./
लिए -2 बाइट्स.abs.comb
: tio.run/…