मान लीजिए कि हमारे पास संख्याओं की एक सूची है, हम समान मूल्य के लगातार तत्वों को उप-सूचियों में पैक करेंगे। हमें यह ध्यान रखना होगा कि सूची में केवल एक ही घटना है जो अभी भी अपनी उपसूची में होनी चाहिए।
इसलिए, यदि इनपुट अंकों की तरह है =[5, 5, 2, 7, 7, 2, 2, 2, 2], तो आउटपुट [[5, 5], [2], [7, 7, 7], [2, 2, 2, 2]]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- यदि अंक खाली हैं, तो
- एक नई सूची लौटाएं
- परिणाम:=एक अन्य सूची के साथ एक सूची जिसमें अंक शामिल हैं[0]
- j :=0
- i के लिए 1 से लेकर अंकों के आकार तक, करें
- यदि अंक [i] अंकों के समान नहीं है [i - 1], तो
- परिणाम के अंत में एक नई सूची डालें
- j :=j + 1
- नतीजे डालें[i] परिणाम के अंत में[j]
- यदि अंक [i] अंकों के समान नहीं है [i - 1], तो
- वापसी का परिणाम
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, nums): if not nums: return [] result = [[nums[0]]] j = 0 for i in range(1, len(nums)): if nums[i] != nums[i - 1]: result.append([]) j += 1 result[j].append(nums[i]) return result ob = Solution() nums = [5, 5, 2, 7, 7, 7, 2, 2, 2, 2] print(ob.solve(nums))
इनपुट
[5, 5, 2, 7, 7, 7, 2, 2, 2, 2]
आउटपुट
[[5, 5], [2], [7, 7, 7], [2, 2, 2, 2]]