মনে করুন একটি আয়তাকার চার উপাদানের একটি তালিকা দ্বারা উপস্থাপিত হয় [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], তবে
- False ফেরত দিন
- অন্যথায়,
- True ফেরত দিন
উদাহরণ
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