ধরুন আমাদের কাছে সংখ্যার সংখ্যার একটি তালিকা আছে, আমরা একই মানের পরপর উপাদানগুলিকে সাবলিস্টে প্যাক করব। আমাদের মনে রাখতে হবে যে তালিকায় শুধুমাত্র একটি ঘটনা আছে এটি এখনও তার নিজস্ব সাবলিস্টে থাকা উচিত।
সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[5, 5, 2, 7, 7, 7, 2, 2, 2, 2], তাহলে আউটপুট হবে [[5, 5], [2], [7, 7, 7], [2, 2, 2, 2]]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- সংখ্যা খালি হলে, তারপর
- একটি নতুন তালিকা ফেরত দিন
- ফলাফল :=অন্য তালিকা সহ একটি তালিকা যাতে সংখ্যা রয়েছে[0]
- j :=0
- আমি রেঞ্জ 1 থেকে সংখ্যার আকারের জন্য,
- করুন
- যদি nums[i] nums[i - 1] এর মত না হয়, তাহলে
- ফলাফলের শেষে একটি নতুন তালিকা ঢোকান
- j :=j + 1
- ফলাফলের শেষে nums[i] ঢোকান[j]
- যদি nums[i] nums[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]]