Question
Given a rows x cols binary matrix filled with 0‘s and 1‘s, find the largest rectangle containing only 1‘s and return its area.
Example 1:

Input: matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]] Output: 6 Explanation: The maximal rectangle is shown in the above picture.
Example 2:
Input: matrix = [["0"]] Output: 0
Example 3:
Input: matrix = [["1"]] Output: 1
Constraints:
rows == matrix.lengthcols == matrix[i].length1 <= row, cols <= 200matrix[i][j]is'0'or'1'.
Python Solution
class Solution:
def maximalRectangle(self, rect: List[List[str]]) -> int:
def largestRectangleArea(A):
stack = []
maxi = 0
i = 0
while i<len(A):
if len(stack)==0 or A[stack[-1]]<=A[i]:
stack.append(i)
i+=1
else:
top = stack.pop()
if len(stack)==0:
ar = A[top]*(i)
else:
ar = A[top]*(i-stack[-1]-1)
maxi = max(maxi,ar)
while len(stack)!=0:
top = stack.pop()
if len(stack)==0:
ar = A[top]*(i)
else:
ar = A[top]*(i-stack[-1]-1)
maxi = max(maxi,ar)
return(maxi)
if rect==[]:return 0
rows = len(rect)
cols = len(rect[0])
for i in range(rows):
for j in range(cols):
rect[i][j] = int(rect[i][j])
m = largestRectangleArea(rect[0])
for i in range(1,rows):
for j in range(cols):
if rect[i][j]==1:
rect[i][j] = rect[i-1][j]+1
m = max(m,largestRectangleArea(rect[i]))
return (m)

![[Solved] You are given an integer n and an integer start. Define an array nums where nums[i] = start + 2 * i (0-indexed) and n == nums.length. Return the bitwise XOR of all elements of nums.](https://machinelearningprojects.net/wp-content/uploads/2022/09/Leetcode-solutions-MLP-Feature-Image-1024x536.webp)