কম্পিউটার

ডুপ্লিকেট উপাদানগুলি খুঁজে পেতে এবং পাইথনে তাদের শেষ ঘটনা মুছে ফেলার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে A সংখ্যার একটি তালিকা আছে, আমাদের সমস্ত সদৃশ সংখ্যা খুঁজে বের করতে হবে এবং তাদের শেষ ঘটনাগুলি সরিয়ে ফেলতে হবে৷

সুতরাং, যদি ইনপুট হয় [10, 30, 40, 10, 30, 50], তাহলে আউটপুট হবে [10, 30, 40, 50]

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

  • দেখেছি:=একটি নতুন মানচিত্র
  • d:=একটি নতুন মানচিত্র
  • আমি 0 থেকে সংখ্যার আকারের মধ্যে,
      করুন
    • যদি nums[i] d-এ না থাকে, তাহলে
      • d[সংখ্যা[i]]:=1
    • অন্যথায়,
      • d[সংখ্যা[i]] :=d[সংখ্যা[i]] + 1
  • i:=0
  • যখন আমি <সংখ্যার আকার, কর
    • n:=d[সংখ্যা[i]]
    • যদি nums[i] দেখা না হয়, তাহলে
      • দেখেছেন[সংখ্যা[i]]:=1
    • অন্যথায়,
      • দেখা হয়েছে[সংখ্যা[i]] :=দেখা[সংখ্যা[i]] + 1
    • যদি n দেখা [সংখ্যা[i]] এবং n> 1 এর মত হয়, তাহলে
      • সংখ্যা থেকে ith উপাদান মুছুন
      • i :=i - 1
    • i :=i + 1
  • রিটার্ন সংখ্যা

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

উদাহরণ

শ্রেণির সমাধান:def solve(self, nums):দেখা={} d={} রেঞ্জে i এর জন্য(len(nums)):যদি না হয় nums[i] in d:d[nums[i]]=অন্য 1:d[সংখ্যা[i]]+=1 i=0 যখন i  1:nums.pop(i) i-=1 i+=1 রিটার্ন numsob =Solution()print( ob.solve([10, 30, 40, 10, 30, 50]))

ইনপুট

<প্রে>[10, 30, 40, 10, 30, 50]

আউটপুট

[10, 30, 40, 50] 

  1. পাইথনে একটি তালিকার অ-সংলগ্ন উপাদানগুলির বৃহত্তম যোগফল খুঁজে বের করার প্রোগ্রাম

  2. একটি সাবলিস্ট খুঁজতে প্রোগ্রাম যেখানে পাইথনে প্রথম এবং শেষ মান একই

  3. পাইথনে 1 থেকে n পর্যন্ত n+1 নম্বর থেকে সদৃশ উপাদান খুঁজে বের করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম একটি তালিকার প্রথম এবং শেষ উপাদান বিনিময় করতে