第一题:832. 翻转图像
第二题:867. 转置矩阵
第三题:566. 重塑矩阵
第四题2022. 将一维数组转变成二维数组
class Solution {
public int[][] flipAndInvertImage(int[][] image) {
int row=image.length;
int col=image[0].length;
int arr[][]=new int [row][col];
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
arr[i][col-1-j]=image[i][j];
}
}
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
if(arr[i][j]==1)arr[i][j]=0;
else arr[i][j]=1;
}
}
return arr;
}
}
class Solution {
public int[][] transpose(int[][] matrix) {
int row=matrix.length;
int col=matrix[0].length;
int arr[][]=new int[col][row];
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
arr[j][i]=matrix[i][j];
}
}
return arr;
}
}
class Solution {
public int[][] matrixReshape(int[][] mat, int r, int c) {
//当此中不相等,这说明不存在,则返回原来的数组即可
if(r*c!=mat.length*mat[0].length){return mat;}
int arr[][]=new int [r][c];
int m=0,n=0;
for(int i=0;i<mat.length;i++){
for(int j=0;j<mat[0].length;j++){
arr[m][n++]=mat[i][j];
if(n==c){//当达到指定列数时换行,累加的列清零。
n=0;m++;
}
}
}
return arr;
}
}
class Solution {
public int[][] construct2DArray(int[] original, int m, int n) {
//申明一个数组
int res[][]={};
if(m*n!=original.length)return res;
// 创建一个动态开辟空间的数组
int arr[][]=new int[m][n];//不能一开始就写这个,否则本当返回[],就会返回[[0]]
int k=0;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
arr[i][j]=original[k++];
if(k==original.length) break;
}
}
return arr;
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_60719453/article/details/121640931
内容来源于网络,如有侵权,请联系作者删除!