【leetcode】重塑矩阵
int** matrixReshape(int** nums, int numsSize, int* numsColSize, int r, int c, int* returnSize, int** returnColumnSizes){
if (r*c != numsSize*(*numsColSize))
{
*returnSize = numsSize;
*returnColumnSizes = numsColSize;
return nums;
}
*returnColumnSizes = (int*)malloc(sizeof(int) * r);
int** arr = (int**)calloc(r,sizeof(int*));
int i,j,n=0;
for (i=0; i<r; i++)
{
int* p = (int*)calloc(c,sizeof(int));
arr[i] = p;
(*returnColumnSizes)[i] = c;
}
for (i=0; i<numsSize; i++)
{
for (j=0; j<numsColSize[i]; j++)
{
arr[(i*numsColSize[i]+j)/c][(i*numsColSize[i]+j)%c] = nums[i][j];
}
}
*returnSize = r;
return arr;
}