इस लेख में, हम यह जानने जा रहे हैं कि दी गई संख्याओं की सूची से संभव सबसे बड़ी संख्या कैसे ज्ञात की जाए। हम समस्या को हल करने के लिए दो अलग-अलग तरीके देखेंगे। समस्या को हल करने के लिए नीचे दिए गए चरणों का पालन करें।
- क्रमपरिवर्तन विधि के लिए itertools मॉड्यूल आयात करें।
- संख्याओं और एक खाली सूची के साथ सूची प्रारंभ करें।
- सूची के क्रमपरिवर्तन पर पुनरावृति करें।
- सभी संयोजनों में शामिल हों और परिणाम को खाली सूची में जोड़ें।
- इंट के रूप में अधिकतम विधि और कुंजी के साथ परिणाम से अधिकतम संख्या पाएं।
- स्ट्रिंग को पूर्णांक में बदलें और इसे प्रिंट करें।
उदाहरण
आइए कोड देखें।
# importing the module import itertools # initializing the list numbers = [45, 35, 138, 43, 67] # result result = [] # permutations for permutation in itertools.permutations(str(number) for number in numbers): result.append(''.join(permutation)) # finding max maximum = max(result, key=int) # printing the max print(int(maximum))
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
आउटपुट
67454335138
आइए समस्या को हल करने का एक और तरीका देखें। हम समस्या को हल करने के लिए फ़ंक्शन को सॉर्ट करेंगे। कोड लिखने के लिए नीचे दिए गए चरणों का पालन करें।
- सूची को सॉर्ट किए गए फ़ंक्शन में पास करें।
- गेट_की नामक एक फ़ंक्शन लिखें जो दो तर्कों को स्वीकार करता है।
- वापसी -1 अगर str(first) + str(second)> str(second) + str(first) else 1.
- शामिल विधि का उपयोग करके तत्वों की सूची में शामिल होना।
- एक पूर्णांक में परिवर्तित करके परिणाम प्रिंट करें।
चूंकि हम किसी फ़ंक्शन को कुंजी के रूप में उपयोग कर रहे हैं, इसलिए हमें functools से cmp_to_key विधि का उपयोग करके इसे कुंजी में बदलना होगा। आइए कोड देखें।
उदाहरण
from functools import cmp_to_key # initializing the list numbers = [45, 35, 138, 43, 67] def get_key(first, second): if str(first) + str(second) > str(second) + str(first): return -1 return 1 # getting the result result = sorted(numbers, key=cmp_to_key(get_key)) # joining the result result = "".join(str(integer) for integer in result) # printing the result print(int(result))
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
आउटपुट
67454335138
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।