09 Sept 2026Go / Python / TypeScriptEasy

Rectangle Overlap

Determine whether two axis-aligned rectangles overlap with positive area.

The rectangles fail to overlap only when one is completely left, right, above, or below the other; negate those separation cases.

complexity

O(1) time and O(1) space.

solution files

  • Go rectangle-overlap/solution.go
  • Python rectangle-overlap/solution.py
  • TypeScript rectangle-overlap/solution.ts

Solution files

Gorectangle-overlap/solution.go
package main

func isRectangleOverlap(rec1 []int, rec2 []int) bool {
	return rec1[0] < rec2[2] && rec2[0] < rec1[2] && rec1[1] < rec2[3] && rec2[1] < rec1[3]
}
Pythonrectangle-overlap/solution.py
class Solution:
    def isRectangleOverlap(self, rec1: list[int], rec2: list[int]) -> bool:
        return rec1[class="syntax-number">0] < rec2[class="syntax-number">2] and rec2[class="syntax-number">0] < rec1[class="syntax-number">2] and rec1[class="syntax-number">1] < rec2[class="syntax-number">3] and rec2[class="syntax-number">1] < rec1[class="syntax-number">3]
TypeScriptrectangle-overlap/solution.ts
function isRectangleOverlap(rec1: number[], rec2: number[]): boolean {
  return rec1[class="syntax-number">0] < rec2[class="syntax-number">2] && rec2[class="syntax-number">0] < rec1[class="syntax-number">2] && rec1[class="syntax-number">1] < rec2[class="syntax-number">3] && rec2[class="syntax-number">1] < rec1[class="syntax-number">3];
}