কম্পিউটার

পাইথনে দুটি আয়তক্ষেত্রাকার ওভারল্যাপ বা না পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে একটি আয়তক্ষেত্র রয়েছে যা চারটি উপাদান [x1, y1, x2, y2] সহ একটি তালিকা হিসাবে উপস্থাপন করা হয়েছে, যেখানে (x1, y1) হল এর নীচে-বাম কোণে স্থানাঙ্ক এবং (x2, y2) হল এর স্থানাঙ্ক তার উপরে-ডান কোণে। দুটি আয়তক্ষেত্র ওভারল্যাপ করে যখন তাদের ছেদটির ক্ষেত্রফল ধনাত্মক হয়। সুতরাং, দুটি আয়তক্ষেত্র যা শুধুমাত্র কোণে বা প্রান্তে স্পর্শ করে ওভারল্যাপ হয় না।

সুতরাং, যদি ইনপুট হয় R1 =[0,0,2,2], R2 =[1,1,3,3], তাহলে আউটপুট হবে True।

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

  • যদি R1[0]>=R2[2] বা R1[2]<=R2[0] বা R1[3]<=R2[1] বা R1[1]>=R2[3], তাহলে
    • মিথ্যে ফেরত দিন
  • অন্যথায়,
    • সত্য ফেরান

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

উদাহরণ

class Solution:
   def solve(self, R1, R2):
      if (R1[0]>=R2[2]) or (R1[2]<=R2[0]) or (R1[3]<=R2[1]) or (R1[1]>=R2[3]):
         return False
      else:
         return True
ob = Solution()
print(ob.solve([0,0,3,3],[1,1,4,4]))

ইনপুট

[0,0,3,3],[1,1,4,4]

আউটপুট

True

  1. n চেক করার প্রোগ্রামটি পাইথনে k এর যোগফল হিসাবে দেখানো যেতে পারে বা না

  2. হিপ চেক করার প্রোগ্রামটি পাইথনে সর্বোচ্চ হিপ তৈরি করছে নাকি নয়

  3. বিজোড় দৈর্ঘ্যের চক্র পাইথনে গ্রাফে আছে কি না তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. একটি স্ট্রিং প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম