কম্পিউটার

আমরা একটি তালিকার সাবলিস্টকে উল্টিয়ে দ্বিতীয় তালিকা তৈরি করতে পাইথনে না কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে A, এবং B নামে দুটি সংখ্যার তালিকা রয়েছে। আমাদের A-তে কিছু সাবলিস্ট নিতে হবে এবং এটিকে বিপরীত করতে হবে। তারপর A কে B তে পরিণত করা সম্ভব কি না তা পরীক্ষা করুন। আমরা সাবলিস্ট নিতে পারি এবং যেকোনবার এটিকে বিপরীত করতে পারি।

সুতরাং, যদি ইনপুটটি A =[2, 3, 4, 9, 10], B =[4, 3, 2, 10, 9] এর মত হয়, তাহলে আউটপুটটি True হবে যেমন আমরা বিপরীত করতে পারি [2,3,4] ] এবং [9,10]।

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

  • res :=একটি মানচিত্র, প্রাথমিকভাবে খালি
  • সংখ্যায় প্রতিটি n এর জন্য, করুন
    • res[n] :=res[n] + 1
  • লক্ষ্যে প্রতিটি টি-এর জন্য, করুন
    • res[t] :=res[t] - 1
  • সত্য প্রত্যাবর্তন করুন যখন res এর মানের সমস্ত উপাদান 0 এর মত হয়।

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

উদাহরণ

from collections import defaultdict
class Solution:
   def solve(self, nums, target):
      res = defaultdict(int)
      for n in nums:
         res[n] += 1
      for t in target:
         res[t] -= 1
      return all(n == 0 for n in res.values())
ob = Solution()
A = [2, 3, 4, 9, 10]
B = [4, 3, 2, 10, 9]
print(ob.solve(A, B))

ইনপুট

[2, 3, 4, 9, 10], [4, 3, 2, 10, 9]

আউটপুট

True

  1. পাইথনে একটি গাছ অন্য গাছের সাবট্রি কি না তা পরীক্ষা করার জন্য প্রোগ্রাম

  2. একটি মান বিএসটি-তে আছে কিনা পাইথনে নেই তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. পাইথন প্রোগ্রাম সাবলিস্টের দ্বিতীয় উপাদান অনুযায়ী একটি তালিকা সাজাতে।

  4. পাইথন প্রোগ্রাম একটি তালিকা খালি কি না পরীক্ষা করতে?