কম্পিউটার

পাইথনে অন্য অ্যারের সাবয়ারে সংযুক্ত করে অ্যারে তৈরি করার প্রোগ্রাম


ধরুন আমাদের একটি 2D অ্যারে আছে যাকে গ্রুপ বলা হয় এবং আরেকটি অ্যারে সংখ্যা। আমাদের পরীক্ষা করতে হবে যে আমরা অ্যারের সংখ্যা থেকে n ডিসজেন্ট সাবয়ারে নির্বাচন করতে পারি যেমন ith সাবয়ারে গ্রুপ[i] (0-ইনডেক্সড) এর সমান, এবং যদি i> 0 হয়, (i-1)তম সাবয়ারে আগে উপস্থিত হবে। ith subarray সংখ্যায়।

সুতরাং, যদি ইনপুট গ্রুপের মত হয় =[[2,-2,-2],[4,-3,0]] সংখ্যা =[1,-1,0,2,-2,-2,4,- 3,0], তাহলে আউটপুট সত্য হবে কারণ অ্যারে গ্রুপ[0] সংখ্যার সূচী 3 থেকে 5 পর্যন্ত উপস্থিত থাকে এবং গ্রুপ[1] সূচক 6 থেকে 8 পর্যন্ত থাকে।

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

  • i :=0

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

    • j এর জন্য রেঞ্জ i থেকে সংখ্যার আকার - 1, করুন

      • যদি সংখ্যার সাবঅ্যারে [জিআরপির সূচক j থেকে j+ আকার পর্যন্ত] grp এর মতো হয়, তাহলে

        • i :=j + grp এর আকার

        • লুপ থেকে বেরিয়ে আসুন

      • অন্যথায়,

        • রিটার্ন ফলস

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

উদাহরণ

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

def solve(groups, nums):
   i = 0
   for grp in groups:
      for j in range(i, len(nums)):
         if nums[j:j+len(grp)] == grp:
            i = j + len(grp)
            break
      else:
         return False
   return True

groups = [[2,-2,-2],[4,-3,0]]
nums = [1,-1,0,2,-2,-2,4,-3,0]
print(solve(groups, nums))

ইনপুট

[[2,-2,-2],[4,-3,0]], [1,-1,0,2,-2,-2,4,-3,0]

আউটপুট

True

  1. পাইথন প্রোগ্রাম একটি Numpy অ্যারে বিপরীত?

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

  3. পাইথন প্রোগ্রাম একটি অ্যারের মধ্যে বিপরীত গণনা

  4. অ্যারে রোটেশনের জন্য পাইথন প্রোগ্রাম