力扣 118. 杨辉三角 C语言实现
题目描述:
给定一个非负整数 numRows
,生成「杨辉三角」的前 numRows
行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。
题目链接
与力扣 566. 重塑矩阵解题思路相似,具体细节可参考此篇。
题目分析:
创建一个二维数组,二维数组的行数已知,每行的列数是当前的行数,即第一行有1列,第二行有两列。每行的第一列和最后一列的值都为1,其他位置的值,例如 arr[2][1] = arr[1][0] + arr[1][1]
函数中的三个参数分别代表杨辉三角的行数,杨辉三角的行数,和杨辉三角的列数。此题目的关键是开辟二维数组空间并对其赋值。
/*** 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 numRows, int* returnSize, int** returnColumnSizes){int** newnums = (int**)malloc(sizeof(int*)*numRows);*returnSize = numRows;*returnColumnSizes = (int*)malloc(sizeof(int)*numRows);*newnums = (int*)malloc(sizeof(int));for(int i=1; i<numRows; ++i){*(newnums+i) = (int*)malloc(sizeof(int)*(i+1));(*returnColumnSizes)[i] = i+1;for(int j=0; j<=i; ++j){ if(j==0 || j==i){newnums[i][j]=1;}else{newnums[i][j] = newnums[i-1][j-1] + newnums[i-1][j];}}}return newnums;
}
力扣 118. 杨辉三角 C语言实现相关推荐
- 力扣119杨辉三角 II:代码实现 + 方法总结(数学规律法 记忆法/备忘录)
文章目录 第一部分:题目 第二部分:解法①-数学规律法 2.1 规律分析 2.2 代码实现 2.3 需要思考 第三部分:解法②-记忆法(备忘录) 第四部分:对比总结 第一部分:题目
- 力扣(leetcode)[118. 杨辉三角] 简单
> Problem: [118. 杨辉三角] # 解题方法 > 看官方给的图就明白了,杨辉三角嘛,最左边和最右边的数都为1,中间的数就是对应上面两个之和,即下面一行的第二个(第一个是1)是 ...
- LeetCode Algorithm 118. 杨辉三角
118. 杨辉三角 Ideas emmmm,按照杨辉三角的定义生成就好咯. 首先杨辉三角是一个二维结构,所以肯定需要通过两层循环来生成. 对于外层循环很简单的,我们要生成numRows行,那么直接循环 ...
- python杨辉三角_yiduobo的每日leetcode 118.杨辉三角 amp;amp; 119.杨辉三角II
祖传的手艺不想丢了,所以按顺序写一个leetcode的题解.计划每日两题,争取不卡题吧. 118.杨辉三角https://leetcode-cn.com/problems/pascals-triang ...
- 杨辉三角 118.杨辉三角 119.杨辉三角Ⅱ(数学解法)
118.杨辉三角 public List<List<Integer>> generate(int numRows) {if (numRows == 0) return new ...
- 杨辉三角的c语言代码,杨辉三角C语言代码
杨辉三角C语言代码 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一 ...
- 数据结构c语言程序杨辉三角,杨辉三角 --- C语言程序
杨辉三角 --- C语言程序 1.前言 最近在逛博客的时候发现一个特别有意思的三角形 然后便编写了下来. 它呢就是杨辉三角,也作为我的首篇博客吧 2.旅程开始 此处为网上所找到的公式以及各种概 ...
- 杨辉三角 C语言实现【一维数组】
杨辉三角 C语言[一维数组] 说明 写<C语言程序设计>作业的时候想到的一个算法,只用一维数组就可以实现杨辉三角的输出(不过肯定没用存储的功能了),自己感觉挺妙的,在答案和其他地方也没看到 ...
- 等腰杨辉三角C语言实现
等腰杨辉三角C语言实现 #include<stdio.h> int main() {int num[10][10];int i,j;for(i=0;i<10;i++){num[i][ ...
最新文章
- joomla 1.7遇到的麻烦——不能删除模板的解决办法
- [Google Guava] 3-缓存
- 讲mysql执行流程书籍_MySQL 基础架构 1. 一条SQL查询语句的执行过程(个人学习笔记)...
- nginx 配置expires
- 【最新snapshot】DCMTK3.6.1(MD支持库)安装说明
- Selenium自动化测试-6.鼠标键盘操作
- jq中使用promise封装ajax
- 硬盘变成脱机状态(由于管理员设置的策略,该磁盘处于脱机状态)
- 搭建python本地源
- 2022蓝桥杯冲刺(历年真题剖析,含省赛、国赛)
- c语言编译器 for mac,编译工具CMake for mac
- JavaScript 3D实时散点图
- 咦,我发现了微信的一个秘密
- 【百度云破解】Proxyee Down使用
- 《爱的五种能力》读后感
- adc0808模数转换实验报告_模数转换实验报告
- Is necessary to close fille in python?
- WuThreat身份安全云-TVD每日漏洞情报-2022-12-26
- [ 前端开发 ] label标签的使用
- 【经验分享】做计算机视觉的你,如何拿到大厂的Offer的?