কম্পিউটার

পাইথনে সাবলিস্টে একই ধারাবাহিক উপাদান প্যাক করার প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যার সংখ্যার একটি তালিকা আছে, আমরা একই মানের পরপর উপাদানগুলিকে সাবলিস্টে প্যাক করব। আমাদের মনে রাখতে হবে যে তালিকায় শুধুমাত্র একটি ঘটনা আছে এটি এখনও তার নিজস্ব সাবলিস্টে থাকা উচিত।

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[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]
  • ফলাফল

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

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]]

  1. পাইথন প্রোগ্রাম একটি অ্যারের সমস্ত উপাদান অন্য অ্যারেতে অনুলিপি করতে

  2. পাইথনে দীর্ঘতম বিকল্প বৈষম্য উপাদানগুলির দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে পরপর জোড় উপাদান অদলবদল করুন

  4. পাইথনের তালিকায় পরপর উপাদান জোড়া