কম্পিউটার

পাইথনে সাজানো অ্যারে থেকে সদৃশগুলি সরান


ধরুন আমাদের একটি সাজানো তালিকা A আছে। সব ডুপ্লিকেট এন্ট্রি মুছে ফেলার পর আমাদের অ্যারের দৈর্ঘ্য ফেরত দিতে হবে। আমাদের এটি O(1) অতিরিক্ত স্থানে সম্পাদন করতে হবে। তাই আমাদের জায়গায় জায়গায় অপারেশন করতে হবে।

উদাহরণস্বরূপ, ধরুন A =​​[1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 6] তাহলে আউটপুট হবে 6, কারণ ছয়টি স্বতন্ত্র উপাদান রয়েছে।

এটি সমাধান করতে, এই ধাপগুলি অনুসরণ করুন -

  • তালিকা খালি থাকলে, 0 ফেরত দিন
  • অন্যথায়, প্রাথমিকভাবে পূর্ববর্তী =A এর প্রথম উপাদান নিন। এবং দৈর্ঘ্য =0 নির্ধারণ করুন
  • এর জন্য i :=1 থেকে n-1, কর
    • যদি A[i] আগের মত না হয়, তাহলে
      • দৈর্ঘ্য :=দৈর্ঘ্য + 1
      • আগের :=A[i]
  • রিটার্ন দৈর্ঘ্য

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

উদাহরণ (পাইথন)

class Solution(object):
   def removeDuplicates(self, nums):
      """
      :type nums: List[int]
      :rtype: int
      """
      if len(nums) == 0:
         return 0
      length = 1
      previous = nums[0]
      index = 1
      for i in range(1,len(nums)):
         if nums[i] != previous:
            length += 1
            previous = nums[i]
            nums[index] = nums[i]
            index+=1
      return length
input_list = [1,1,2,2,2,3,3,3,3,4,5,5,5,6]
ob1 = Solution()
print(ob1.removeDuplicates(input_list))

ইনপুট

[1,1,2,2,2,3,3,3,3,4,5,5,5,6]

আউটপুট

6

  1. পাইথনে সাজানো অ্যারে মার্জ করুন

  2. পাইথন প্রোগ্রাম একটি তালিকা থেকে ডুপ্লিকেট উপাদান অপসারণ?

  3. একটি প্রদত্ত বাক্য থেকে সমস্ত সদৃশ শব্দ মুছে ফেলার জন্য পাইথন প্রোগ্রাম।

  4. পাইথনে একটি প্রদত্ত স্ট্রিং থেকে সমস্ত সদৃশ সরান