मान लीजिए गैर-ऋणात्मक पूर्णांकों की एक सूची है, हमें उन्हें इस तरह व्यवस्थित करना है कि वे सबसे बड़ी संख्या बनाएं। इसलिए यदि सरणी [10, 2] है, तो सबसे बड़ी संख्या 210 होगी।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- संख्याओं को व्यवस्थित करें जहां सबसे महत्वपूर्ण अंक अधिक हों, उन्हें पहले रखें, इस व्यवस्था के बाद सरणी से संख्याओं को जोड़ दें।
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें -
from functools import cmp_to_key class Solution(object): def largestNumber(self, nums): for i in range(len(nums)): nums[i] = str(nums[i]) nums.sort(key=cmp_to_key(lambda x,y:self.compare(x,y))) return "".join(nums).lstrip("0") or "0" def compare(self,x,y): if x+yइनपुट
[3,30,5,6,8]
आउटपुट
"865330"