কম্পিউটার

আমরা পাইথনে টুকরো থেকে অ্যারে তৈরি করতে পারি কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন আমাদের একটি অ্যারের সংখ্যা আছে যেখানে সমস্ত উপাদান অনন্য এবং আলাদা আলাদা ছোট অ্যারে সহ আরেকটি অ্যারে আছে যাকে পিস বলা হয়। আমাদের চেক করতে হবে যে আমরা অ্যারেগুলিকে টুকরো টুকরো করে কোনো ক্রমে সংযুক্ত করে মূল অ্যারের সংখ্যা পেতে পারি কিনা। কিন্তু আমরা প্রতিটি অ্যারের টুকরা[i]-এ উপস্থিত উপাদানগুলিকে পুনরায় সাজানোর অনুমতি নেই৷

সুতরাং, যদি ইনপুট সংখ্যার মত হয় =[5,1,12,36,2,47,6] টুকরা =[[2,47,6],[12,36],[1],[5]], তাহলে আউটপুট হবে True কারণ আমরা তাদের এই ক্রমে [[5], [1], [12,36], [2,47,6]] মেইন অ্যারে পেতে পারি।

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

  • temp :=একটি নতুন তালিকা

  • প্রতিটি পি টুকরো টুকরো জন্য, করুন

    • যদি p[0] সংখ্যায় উপস্থিত না হয়, তাহলে

      • রিটার্ন ফলস

    • l :=p এর আকার

    • indx :=index(p[0]) সংখ্যায়

    • যদি সূচক সূচক থেকে indx+l-1 পর্যন্ত সংখ্যার সাবঅ্যারে p এর মতো না হয়, তাহলে

      • রিটার্ন ফলস

    • অন্যথায়,

      • টেম্পের পরে p যোগ করুন

  • যদি সংখ্যার আকার তাপমাত্রার আকারের সমান হয়, তাহলে

    • রিটার্ন ট্রু

  • অন্যথায়,

    • রিটার্ন ফলস

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

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

def solve(nums, pieces):
   temp = []
   for p in pieces:
      if p[0] not in nums:
         return False
      l = len(p)
      indx = nums.index(p[0])
      if nums[indx:indx+l] != p:
         return False
      else:
         temp.extend(p)
   if len(nums) == len(temp):
      return True
   else:
      return False

nums = [5,1,12,36,2,47,6]
pieces = [[2,47,6],[12,36],[1],[5]]
print(solve(nums, pieces))

ইনপুট

[5,1,12,36,2,47,6], [[2,47,6],[12,36],[1],[5]]

আউটপুট

True

  1. একটি অ্যারে থেকে ট্রিপলেটের সংখ্যা পরীক্ষা করার প্রোগ্রাম যার যোগফল টার্গেটের চেয়ে কম বা পাইথন নয়

  2. আমরা পাইথনে সূচক 0 থেকে শেষ অবস্থানে পৌঁছাতে পারি কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. আমরা পাইথনে বাম বা ডানদিকের অবস্থানে পৌঁছাতে পারি কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. প্রোগ্রাম চেক করার জন্য আমরা যে কোন শহর থেকে যে কোন শহরে যেতে পারি নাকি পাইথনে নেই