কম্পিউটার টিউটোরিয়াল

পাইথনে সन्नিহিত একই এলিমেন্টগুলো সাবলিস্টে প্যাক করার প্রোগ্রাম


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

যদি ইনপুট হয় nums = [5, 5, 2, 7, 7, 7, 2, 2, 2, 2], তবে আউটপুট হবে [[5, 5], [2], [7, 7, 7], [2, 2, 2, 2]]

এটি সমাধান করতে আমরা নিম্নলিখিত ধাপগুলি অনুসরণ করব:

  • যদি nums খালি হয়, তবে খালি তালিকা ফেরত দিন।
  • result := [[nums[0]]] ধারণকারী একটি তালিকা
  • j := 0
  • i কে ১ থেকে nums-এর আকার পর্যন্ত লুপ চালান:
    • যদি nums[i] != nums[i-1] হয়, তবে result-এ একটি নতুন খালি তালিকা যোগ করুন, j := j + 1
    • nums[i] কে result[j]-এর শেষে যোগ করুন
  • result ফেরত দিন।

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশনটি দেখুন:

উদাহরণ

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. পাইথনে লিস্টে ক্রমাগত এলিমেন্ট জোড়া 만들기