ধরুন আমাদের কাছে একটি আয়তক্ষেত্র রয়েছে যা চারটি উপাদান [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