28. Find Rectangle with Corners as 1
The problem can be found at the following link: 🔗 Question Link
🧩 Problem Description
Given an n × m binary matrix mat[][] containing only 0s and 1s, determine if there exists a rectangle within the matrix such that all four corners of the rectangle are 1. If such a rectangle exists, return true; otherwise, return false.
📘 Examples
Example 1:
Input:
mat = [
[1, 0, 0, 1, 0],
[0, 0, 1, 0, 1],
[0, 0, 0, 1, 0],
[1, 0, 1, 0, 1]
]Output:
true
Explanation:
Valid corners at (1,2), (1,4), (3,2), (3,4).
Example 2:
Input:
Output:
false
Explanation:
No four 1s form the corners of a rectangle.
🔒 Constraints
1 ≤ n, m ≤ 200mat[i][j] ∈ {0, 1}
✅ My Approach
Row Pair Comparison with Column Counting
Goal: Check if any two rows in the matrix have at least two common columns with value 1. Such a pair would form the top-left, top-right, bottom-left, and bottom-right corners of a rectangle with 1s.
Algorithm Steps:
Let
nbe the number of rows andmbe the number of columns in the matrix.Iterate over all pairs of rows
(i, j)wherei < j:For each column
k, check if bothmat[i][k]andmat[j][k]are1.Count the number of such columns.
If the count exceeds 1, return
true(a rectangle exists).
If no such pair of rows with 2 or more common 1s exists, return
false.
This brute-force check across all row pairs is efficient enough for moderate matrix sizes due to n(n-1)/2 row combinations and m column checks per combination.
🧮 Time and Auxiliary Space Complexity
Expected Time Complexity: O(n²·m), as we compare each pair of
nrows and checkmcolumns.Expected Auxiliary Space Complexity: O(1), as we use only constant extra variables.
🧠 Code (C++)
🧑💻 Code (Java)
🐍 Code (Python)
🧠 Contribution and Support
For discussions, questions, or doubts related to this solution, feel free to connect on LinkedIn: 📬 Any Questions?. Let’s make this learning journey more collaborative!
⭐ If you find this helpful, please give this repository a star! ⭐
📍Visitor Count
Last updated