leetcode 118 c语言
时间: 2023-10-26 22:31:09 浏览: 114
leetcode 刷题宝典,大厂 offer 拿到手软,编程语言为 Python 和 Go.zip
题目描述:
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
示例:
输入: 5
输出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
解题思路:
对于杨辉三角,每一行的第一个和最后一个都是1,中间的每个数都是上一行对应位置的数与上一行对应位置前一个数之和。可以使用二维数组存储杨辉三角,然后依次计算每一行的值。
C语言程序:
#define MAXSIZE 100
int** generate(int numRows, int* returnSize, int** returnColumnSizes){
int i,j;
int **a = (int**)malloc(sizeof(int*)*numRows);
*returnColumnSizes = (int*)malloc(sizeof(int)*numRows);
*returnSize = numRows;
for(i=0; i<numRows; i++)
{
(*returnColumnSizes)[i] = i+1;
a[i] = (int*)malloc(sizeof(int)*(i+1));
a[i][0] = 1;
a[i][i] = 1;
for(j=1; j<i; j++)
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
return a;
}
阅读全文