Easy Approach. With Video Solution..🚀🚀
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \nhttps://youtu.be/QJ1R5x
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\nhttps://youtu.be/QJ1R5xlkd6U?si=sOwQ9qsEhwg4c2O2\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\n    public long largestSquareArea(int[][] bottomLeft, int[][] topRight) {\n        long max_area = 0;\n        int n = bottomLeft.length;\n        for(int i = 0; i < n; i++){\n            for(int j = i+1; j <n; j++){\n                int x1 = Math.max(bottomLeft[i][0] , bottomLeft[j][0]);\n                int y1 = Math.max(bottomLeft[i][1], bottomLeft[j][1]);\n                int x2 = Math.min(topRight[i][0], topRight[j][0]);\n                int y2 = Math.min(topRight[i][1], topRight[j][1]);\n\n            if(x2 > x1 && y2 > y1){  // if our intersection area is in +ve axis\n                long side = Math.min(x2 - x1 , y2 -y1); // min for side of suqare not rectangle.\n                max_area = Math.max(max_area, side * side);\n            }\n            }\n        }\n        return max_area;\n    }\n}\n```
['Depth-First Search', 'Binary Tree', 'Java']