750. Number Of Corner Rectangles
Approach 1: Hash Map
from collections import defaultdict
class Solution(object):
def countCornerRectangles(self, grid):
"""
:type grid: List[List[int]]
:rtype: int
"""
R, C = len(grid), len(grid[0])
if R == 1 or C == 1:
return 0
rs = defaultdict(set)
for i in range(R):
for j in range(C):
if grid[i][j] == 1:
rs[i].add(j)
count = 0
rsl = {}
for i in rs:
rsl[i] = len(rs[i])
for i in rs:
for j in rs:
if i != j:
n = len(rs[i] - rs[j])
if n != rsl[i]:
n = rsl[i] - n
count += (n * (n-1))/2
return count/2Approach 2: Minor optimization to approach 1
Last updated