LC: 750. Number Of Corner Rectangles
https://leetcode.com/problems/number-of-corner-rectangles/
Given an m x n integer matrix grid where each entry is only 0 or 1, return the number of corner rectangles.
A corner rectangle is four distinct 1's on the grid that forms an axis-aligned rectangle. Note that only the corners need to have the value 1. Also, all four 1's used must be distinct.
Example 1:
Input: grid = [[1,0,0,1,0],[0,0,1,0,1],[0,0,0,1,0],[1,0,1,0,1]]
Output: 1
Explanation: There is only one corner rectangle, with corners grid[1][2], grid[1][4], grid[3][2], grid[3][4].Example 2:
Input: grid = [[1,1,1],[1,1,1],[1,1,1]]
Output: 9
Explanation: There are four 2x2 rectangles, four 2x3 and 3x2 rectangles, and one 3x3 rectangle.Example 3:
Input: grid = [[1,1,1,1]]
Output: 0
Explanation: Rectangles must have four distinct corners.Constraints:
m == grid.lengthn == grid[i].length1 <= m, n <= 200grid[i][j]is either0or1.The number of
1's in the grid is in the range[1, 6000].
The Essence:
Wenn es in einem String N Zeichen gibt und man ein neues Zeichen zufügt, dann entstehen N neue Substrings.
Wenn ähnlicherweise in N Zeilen über eine Zeile in Spalten j und k Punkte gibt, dann entstehen N neue Rechtecke, wenn man auch in dieser Zeile bei den Spalten j und k Punkte hat.
Details:
Man kann ein zweidimensionales Array verwenden, um die Anzahl der Zeilen mit Punkten gleichzeitig bei den Spalten j und k zu speichern: anzahl[j][k]. Die neu bestimmten Rechtecke sollen bei jeder Zeile zu der gesamten Summe addiert werden. Man kann das hier erwähnte Verfahren auch in Bezug auf Spalten implementieren.
Default Code:
Last updated