Posts

Showing posts with the label Matrix

Spiral Matrix II

Image
Given a positive integer   n , generate an   n x n   matrix   filled with elements from   1   to   n 2   in spiral order. Example 1: Input: n = 3 Output: [[1,2,3],[8,9,4],[7,6,5]] Example 2: Input: n = 1 Output: [[1]]   Constraints: 1 <= n <= 20 Solution: class Solution {     public int[][] generateMatrix(int n) {         int[][] matrix = new int[n][n];         int top = 0, bottom = n - 1, left = 0, right = n - 1;         int val = 1;         while (val <= n * n) {             for (int i = left; i <= right; i++)                  matrix[top][i] = val++;              top++;           ...

Maximal Square

Given a 2D binary matrix filled with 0's and 1's, find the largest square containing only 1's and return its area. Example: Input: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 Output: 4     public class Solution { public int maximalSquare(char[][] matrix) { int rows = matrix.length, cols = rows > 0 ? matrix[0].length : 0; int maxlen = 0; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { if (matrix[i][j] == '1') { int len = 1; boolean flag = true; while (len + i < rows && len + j < cols && flag) { for (int k = j; k <= len + j; k++) { if (matrix[i + len][k] == '0') { flag = false; break; } } ...

Leftmost Column with at Least a One

Image
A binary matrix means that all elements are  0  or  1 . For each  individual row of the matrix, this row is sorted in non-decreasing order. Given a row-sorted binary matrix binaryMatrix, return leftmost column index(0-indexed) with at least a  1  in it. If such index doesn't exist, return -1 . You can't access the Binary Matrix directly.   You may only access the matrix using a  BinaryMatrix  interface: BinaryMatrix.get(x, y) returns the element of the matrix at index (x, y)  (0-indexed). BinaryMatrix.dimensions()  returns a list of 2 elements  [n, m] , which means the matrix is n * m . Submissions making more than 1000  calls to  BinaryMatrix.get  will be judged Wrong Answer .  Also, any solutions that attempt to circumvent the judge will result in disqualification. For custom testing purposes you're given the binary matrix mat  as input in the following four ...