/**
* Return an array of arrays of size *returnSize.
* The sizes of the arrays are returned as *returnColumnSizes array.
* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().
*/
int** generate(int n, int* returnSize, int** returnColumnSizes){
int **ret = (int **)malloc(sizeof(int * ) * n);
int *rcs = (int *)malloc(sizeof(int) * n);
int i, j;
for(i=0; i<n; i++){
ret[i] = (int *)malloc(sizeof(int) * (i+1));
rcs[i] = i+1;
if(i==0) {
ret[i][0] = 1;
continue;
}
for(j=0; j<rcs[i]; j++){
if(j>0 && j<i)
ret[i][j] = ret[i-1][j] + ret[i-1][j-1];
else
ret[i][j] = 1;
}
}
*returnSize = n;
*returnColumnSizes = rcs;
return ret;
}
leetcode-118-杨辉三角-C语言
最新推荐文章于 2024-01-24 02:46:21 发布