2022-03-27 18:27:43 +08:00
< p > You are given a binary matrix < code > matrix< / code > of size < code > m x n< / code > , and you are allowed to rearrange the < strong > columns< / strong > of the < code > matrix< / code > in any order.< / p >
< p > Return < em > the area of the largest submatrix within < / em > < code > matrix< / code > < em > where < strong > every< / strong > element of the submatrix is < / em > < code > 1< / code > < em > after reordering the columns optimally.< / em > < / p >
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 18:27:43 +08:00
< img alt = "" src = "https://assets.leetcode.com/uploads/2020/12/29/screenshot-2020-12-30-at-40536-pm.png" style = "width: 500px; height: 240px;" / >
< pre >
< strong > Input:< / strong > matrix = [[0,0,1],[1,1,1],[1,0,1]]
< strong > Output:< / strong > 4
< strong > Explanation:< / strong > You can rearrange the columns as shown above.
The largest submatrix of 1s, in bold, has an area of 4.
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 18:27:43 +08:00
< img alt = "" src = "https://assets.leetcode.com/uploads/2020/12/29/screenshot-2020-12-30-at-40852-pm.png" style = "width: 500px; height: 62px;" / >
< pre >
< strong > Input:< / strong > matrix = [[1,0,1,0,1]]
< strong > Output:< / strong > 3
< strong > Explanation:< / strong > You can rearrange the columns as shown above.
The largest submatrix of 1s, in bold, has an area of 3.
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 3:< / strong > < / p >
2022-03-27 18:27:43 +08:00
< pre >
< strong > Input:< / strong > matrix = [[1,1,0],[1,0,1]]
< strong > Output:< / strong > 2
< strong > Explanation:< / strong > Notice that you must rearrange entire columns, and there is no way to make a submatrix of 1s larger than an area of 2.
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > < code > m == matrix.length< / code > < / li >
< li > < code > n == matrix[i].length< / code > < / li >
< li > < code > 1 < = m * n < = 10< sup > 5< / sup > < / code > < / li >
< li > < code > matrix[i][j]< / code > is either < code > 0< / code > or < code > 1< / code > .< / li >
< / ul >