function rotate90Clockwise(matrix: number[][]): number[][] {
let rows: number = matrix.length;
let cols: number = matrix[0].length;
let rotated: number[][] = Array.from({ length: cols }, () => Array(rows).fill(0));
for (let i: number = 0; i < rows; i++) {
for (let j: number = 0; j < cols; j++) {
rotated[j][rows - 1 - i] = matrix[i][j]; // Mapping to rotated position
}
}
return rotated;
}
function printMatrix(matrix: number[][]): void {
matrix.forEach(row => console.log(row.join(" ")));
}
let matrix: number[][] = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]
];
console.log("Original Matrix:");
printMatrix(matrix);
let rotated: number[][] = rotate90Clockwise(matrix);
console.log("\nRotated Matrix:");
printMatrix(rotated);
/*
run:
"Original Matrix:"
"1 2 3 4"
"5 6 7 8"
"9 10 11 12"
"Rotated Matrix:"
"9 5 1"
"10 6 2"
"11 7 3"
"12 8 4"
*/