Quick actions

cmd+k|ctrl+k

Navigation

Languages

sub square matrix

Snippet info

Language

JavaScript

Visibility

public

Author

soham57

Created

2022-10-05T15:48:41.804205Z

Updated

2022-10-12T07:46:12.531542Z



// JavaScript code for Maximum size square
// sub-matrix with all 1s
// (space optimized solution)
const R = 4
const C = 3

function printMaxSubSquare(M)
{
	let Max = 0
	let S = new Array(2)
	
	// set all elements of S to 0 first
	for(let i=0;i<2;i++){
		S[i] = new Array(C).fill(0)
	}

	// Construct the entries
	for (let i = 0; i < R;i++)
		for (let j = 0; j < C;j++){

			// Compute the entrie at the current position
			let Entrie = M[i][j];
			if(Entrie)
				if(j)
					Entrie = 1 + Math.min(S[1][j - 1],
					Math.min(S[0][j - 1], S[1][j]));

			// Save the last entrie and add the new one
			S[0][j] = S[1][j];
			S[1][j] = Entrie;

			// Keep track of the max square length
			Max = Math.max(Max, Entrie);
		}
	
	// Print the square
	document.write("Maximum size sub-matrix is: ","</br>")
	for (let i = 0; i < Max; i++){
		for (let j = 0; j < Max;j++)
			document.write("1 ")
		document.write("</br>")
	}
		
}

// Driver code
const M = [			[1, 1, 1],
					[1, 1,  1],
					[0, 0,  1],
					[0, 1, 0]]
					
printMaxSubSquare(M)

// This code is contributed by shinjanpatra


INFO