Intuitive Brute Force Python O(n^2) Solution based on intersection of rectangles
Intuition\n Describe your first thoughts on how to solve this problem. \nFor each pair of rectangles, consider one as left and one as right. This can be easily 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\nFor each pair of rectangles, consider one as left and one as right. This can be easily decided by position of their bottomLeft X coordinate. Similiarly assign one recatanle as top and one as bottom.\n\nNow for left and right rectangles, they will intersect if left\'s topright X coordinate is greater than right\'s bottomleft X coordinate.\nSimilarily, for top and bottom rectangles, they will intersect if down\'s topright Y coordinate is greater than up\'s bottomleft Y coordinate.\nA edge case, that has to be handled is that if right rectangle\'s X coordinates finishes before left, i.e right is engulfed by left atleast in X dimension. Same for top and down.\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\nO(n^2)\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\nConstant O(1)\n\n# Code\n```\nclass Solution:\n    def largestSquareArea(self, bottomLeft: List[List[int]], topRight: List[List[int]]) -> int:\n        l=list(zip(bottomLeft,topRight))\n        ans=float(\'-inf\')\n        for i in range(len(l)):\n            for j in range(i+1,len(l)):\n                sq_side=float(\'inf\')\n                left,right=l[i],l[j]\n                if left[0][0]>right[0][0]:\n                    left,right=right,left\n                if left[1][0]<right[0][0]:\n                    continue\n                else:\n                    sq_side=min(sq_side,min(left[1][0]-right[0][0], right[1][0]-right[0][0]))\n                up,down=l[i],l[j]\n                if up[0][1] < down[0][1]:\n                    up,down=down,up\n                if down[1][1] < up[0][1]:\n                    continue\n                else:\n                    sq_side=min(sq_side,min(down[1][1]-up[0][1], up[1][1]-up[0][1]))\n                if sq_side!=float(\'inf\'):\n                    ans=max(ans,sq_side**2)\n        return ans if ans!=float(\'-inf\') else 0\n```
['Python3']