public class Matrix {
public static String printMatrix (int[][] matrix) {
StringBuilder sb = new StringBuilder("{==================\n");
for (int[] column : matrix) {
for (int num : column) {
sb.append(num + "\t");
}
sb.append("\n");
}
sb.append("==================}\n");
return sb.toString();
}
public static int[][] transpose(int[][] grid) {
int m = grid.length, n = grid[0].length;
int[][] res = new int[n][m];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
res[j][i] = grid[i][j];
}
}
return res;
}
public static String printMatrix (char[][] matrix) {
StringBuilder sb = new StringBuilder("{==================\n");
for (char[] column : matrix) {
for (char num : column) {
sb.append(num + "\t");
}
sb.append("\n");
}
sb.append("==================}\n");
return sb.toString();
}
public static String printMatrix (double[][] matrix) {
StringBuilder sb = new StringBuilder("{==================\n");
for (double[] column : matrix) {
for (double num : column) {
sb.append(num + "\t");
}
sb.append("\n");
}
sb.append("==================}\n");
return sb.toString();
}
public static String printMatrix (boolean[][] matrix) {
StringBuilder sb = new StringBuilder("{==================\n");
for (boolean[] column : matrix)
sb.append(Printer.array(column) + "\n");
sb.append("==================}\n");
return sb.toString();
}
public static char[][] buildFromString(String[] ar) {
int m = ar.length;
char[][] res = new char[m][];
for (int i = 0; i < m; i++)
res[i] = ar[i].toCharArray();
return res;
}
public static int[][] listToMatrix(List<List<Integer>> lss) {
int[][] res = new int[lss.size()][];
for (int i = 0; i < res.length; i++) {
List<Integer> ls = lss.get(i);
res[i] = new int[ls.size()];
for (int j = 0; j < ls.size(); j++)
res[i][j] = ls.get(j);
}
return res;
}
public static String printMatrix (Object[][] matrix) {
StringBuilder sb = new StringBuilder("{==================\n");
for (Object[] column : matrix) {
for (Object num : column) {
sb.append(num + "\t");
}
sb.append("\n");
}
sb.append("==================}\n");
return sb.toString();
}
}