मान लीजिए कि हमारे पास अद्वितीय संख्याओं की एक सूची है, जिन्हें अंक कहा जाता है। हमें संख्याओं का एक क्रमबद्ध 2D मैट्रिक्स खोजना होगा, जहां प्रत्येक सूची एक समावेशी अंतराल सारांश संख्या का प्रतिनिधित्व करती है जो अंकों में सन्निहित है।
इसलिए, यदि इनपुट अंकों की तरह है =[10, 11, 12, 15, 16, 17, 28, 30], तो आउटपुट [[10, 12], [15, 17], [28, 28] होगा। , [30, 30]], जैसा कि सूची में [10 से 12], [15 से 17] सन्निहित हैं, और 28 और 30 हैं, उन्हें [28 से 28] और [30 से 30] के रूप में दर्शाया गया है।पी>
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे-
-
सूची संख्या क्रमित करें
-
अंकों के अंत में अनंत डालें
-
उत्तर:=एक नई सूची
-
एल:=अंक[0]
-
मेरे लिए 1 से लेकर अंकों के आकार तक, करें
-
अगर nums[i], nums[i-1] + 1, के समान नहीं है, तो
-
उत्तर के अंत में [l, nums[i-1]] डालें
-
एल:=अंक [i]
-
-
-
वापसी उत्तर
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें-
उदाहरण
class Solution: def solve(self, nums): nums.sort() nums.append(1e9) ans=[] l=nums[0] for i in range(1,len(nums)): if nums[i] != nums[i-1] + 1: ans.append([l, nums[i-1]]) l=nums[i] return ans ob = Solution() nums = [10, 11, 12, 15, 16, 17, 28, 30] print(ob.solve(nums))
इनपुट
[10, 11, 12, 15, 16, 17, 28, 30]
आउटपुट
[[10, 12], [15, 17], [28, 28], [30, 30]]