给定一个非负整数 numRows
,生成「杨辉三角」的前 numRows
行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
int** generate(int numRows, int* returnSize, int** returnColumnSizes) {
int** arr=(int**)malloc(numRows*sizeof(int*));
*returnSize=numRows;
*returnColumnSizes=(int*)malloc(numRows*sizeof(int));
int i=1,j=0;
while(i<=numRows)
{
arr[i-1]=(int*)malloc(i*sizeof(int));
(*returnColumnSizes)[i-1]=i;
arr[i-1][0]=arr[i-1][i-1]=1;
for(j=1;j<i-1;j++)
arr[i-1][j]=arr[i-2][j-1]+arr[i-2][j];
i++;
}
return arr;
}