223. Rectangle Area LeetCode Solution

In this guide, you will get 223. Rectangle Area LeetCode Solution with the best time and space complexity. The solution to Rectangle Area problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.

Table of Contents

  1. Problem Statement
  2. Complexity Analysis
  3. Rectangle Area solution in C++
  4. Rectangle Area solution in Java
  5. Rectangle Area solution in Python
  6. Additional Resources
223. Rectangle AreaLeetCode Solution image

Problem Statement of Rectangle Area

Given the coordinates of two rectilinear rectangles in a 2D plane, return the total area covered by the two rectangles.
The first rectangle is defined by its bottom-left corner (ax1, ay1) and its top-right corner (ax2, ay2).
The second rectangle is defined by its bottom-left corner (bx1, by1) and its top-right corner (bx2, by2).

Example 1:

Input: ax1 = -3, ay1 = 0, ax2 = 3, ay2 = 4, bx1 = 0, by1 = -1, bx2 = 9, by2 = 2
Output: 45

Example 2:

Input: ax1 = -2, ay1 = -2, ax2 = 2, ay2 = 2, bx1 = -2, by1 = -2, bx2 = 2, by2 = 2
Output: 16

Constraints:

-104 <= ax1 <= ax2 <= 104
-104 <= ay1 <= ay2 <= 104
-104 <= bx1 <= bx2 <= 104
-104 <= by1 <= by2 <= 104

Complexity Analysis

  • Time Complexity: O(1)
  • Space Complexity: O(1)

223. Rectangle Area LeetCode Solution in C++

class Solution {
 public:
  int computeArea(long A, long B, long C, long D,  //
                  long E, long F, long G, long H) {
    const long x = max(A, E) < min(C, G) ? (min(C, G) - max(A, E)) : 0;
    const long y = max(B, F) < min(D, H) ? (min(D, H) - max(B, F)) : 0;
    return (C - A) * (D - B) + (G - E) * (H - F) - x * y;
  }
};
/* code provided by PROGIEZ */

223. Rectangle Area LeetCode Solution in Java

class Solution {
  public int computeArea(long A, long B, long C, long D, long E, long F, long G, long H) {
    final long x = Math.max(A, E) < Math.min(C, G) ? (Math.min(C, G) - Math.max(A, E)) : 0;
    final long y = Math.max(B, F) < Math.min(D, H) ? (Math.min(D, H) - Math.max(B, F)) : 0;
    return (int) ((C - A) * (D - B) + (G - E) * (H - F) - x * y);
  }
}
// code provided by PROGIEZ

223. Rectangle Area LeetCode Solution in Python

class Solution:
  def computeArea(self,
                  A: int, B: int, C: int, D: int,
                  E: int, F: int, G: int, H: int) -> int:
    x = min(C, G) - max(A, E) if max(A, E) < min(C, G) else 0
    y = min(D, H) - max(B, F) if max(B, F) < min(D, H) else 0
    return (C - A) * (D - B) + (G - E) * (H - F) - x * y
 # code by PROGIEZ

Additional Resources

See also  328. Odd Even Linked List LeetCode Solution

Happy Coding! Keep following PROGIEZ for more updates and solutions.