首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Leetcode-118. 杨辉三角 -119. 杨辉三角Ⅱ】

【Leetcode-118. 杨辉三角 -119. 杨辉三角Ⅱ】

作者头像
YoungMLet
发布2024-03-01 09:19:38
发布2024-03-01 09:19:38
18300
代码可运行
举报
文章被收录于专栏:C++/LinuxC++/Linux
运行总次数:0
代码可运行

Leetcode-118. 杨辉三角

题目:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

我们的思路是开辟一个二维数组的空间,然后根据题目要求把数据填进去,返回该二维数组的地址;注意,在二维数组中的一维数组也要开辟空间;

代码语言:javascript
代码运行次数:0
运行
复制
		int** generate(int numRows, int* returnSize, int** returnColumnSizes)
		{
		    //开辟二维数组的空间,返回的空间
		    int** ret = (int**)malloc(sizeof(int*) * numRows);
		
		    //返回的二维数组的行数
		    *returnSize = numRows;
		
		    //开辟返回的二维数组的列数
		    *returnColumnSizes = (int*)malloc(sizeof(int) * numRows);
		
		    for (int i = 0; i < numRows; i++)
		    {
		        //为第i行开辟的空间大小
		        ret[i] = (int*)malloc(sizeof(int) * (i + 1));
		
		        //第i行数组的大小
		        (*returnColumnSizes)[i] = i + 1;
		
		        //首位置1
		        ret[i][0] = 1;
		        ret[i][i] = 1;
		
		        //除了首尾的位置等于上面两项之和
		        for (int j = 1; j < i; j++)
		        {
		            ret[i][j] = ret[i - 1][j - 1] + ret[i - 1][j];
		        }
		    }
		    //返回二维数组
		    return ret;
		}

Leetcode-119. 杨辉三角Ⅱ

题目:给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 输入: rowIndex = 3 输出 : [1, 3, 3, 1]

这里的思路跟上面的相似,不同的是,这题不用返回该二维数组,只是返回某一行,所以只需要开辟每一行的空间即可,最后返回符合题意的行的地址即可;

代码语言:javascript
代码运行次数:0
运行
复制
		int* getRow(int rowIndex, int* returnSize)
		{
		    //返回行数
		    *returnSize = rowIndex + 1;
		    //创建一个二维数组
		    int* ret[rowIndex + 1];
		    int i, j;
		    for (i = 0; i < rowIndex + 1; i++)
		    {
		        //为第i行开辟空间
		        ret[i] = (int*)malloc(sizeof(int) * (i + 1));
		
		        //首尾置1
		        ret[i][0] = 1;
		        ret[i][i] = 1;
		
		        for (j = 1; j < i; j++)
		        {
		            ret[i][j] = ret[i - 1][j - 1] + ret[i - 1][j];
		        }
		    }
		    //返回相应的行
		    return ret[rowIndex];
		}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Leetcode-118. 杨辉三角
  • Leetcode-119. 杨辉三角Ⅱ
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档