leetcode刷题日记:118.Pascal‘s Triangle(杨辉三角)

【LeetCode】探索杨辉三角模型 一起来探索杨辉三角的奥秘 阅读详情

118.Pascal’s Triangle(杨辉三角)

题目给我们一个整数numRows表示杨辉三角形的行数,返回杨辉三角形的前numRows行,下面给出一个杨辉三角形看看它有哪些规律;
在这里插入图片描述
在这里插入图片描述
可以看出杨辉三角形的每一行的最左侧和最右侧的值都为1.
在这里插入图片描述
其余的第i行的第j个元素p[i][j]可以由下图确定:
在这里插入图片描述
可以看出p[i][j] = p[i-1][j]+p[i-1][j-1],有了上述的思路我们可以写出代码如下:

int** generate(int numRows, int* returnSize, int** returnColumnSizes) {
    int **p = (int **)malloc(sizeof(int **)*numRows);
    p[0] = (int *)malloc(sizeof(int*));
    p[0][0] = 1;
    *returnSize = numRows;
    *returnColumnSizes = (int *)malloc(sizeof(int)*numRows);
    (*returnColumnSizes)[0] = 1;
    for(int i=1; i<numRows;i++){
        (*returnColumnSizes)[i] = i+1;
        p[i] = (int *)malloc(sizeof(int)*(i+1));
        for(int j=0;j<=i;j++){
            if(j-1<0){
                p[i][j] = p[i-1][j]+0;
            }else if(j>i-1){
                p[i][j] = p[i-1][j-1]+0;
            }else{
                p[i][j] = p[i-1][j-1]+p[i-1][j];
            }
            
        }
    }
    return p;
}

运行结果截图:
在这里插入图片描述

119.Pascal’s Triangle II( 杨辉三角 II)

这道题要求返回杨辉三角形的第rowIndex行的值,杨辉三角形从第0行开始。有了上述的生成杨辉三角形的代码,我们只需要将杨辉三角的第i行的所有元素复制到x中,然后返回x即可,整体思路不变。

int* getRow(int rowIndex, int* returnSize) {
    int **p = (int **)malloc(sizeof(int **)*(rowIndex+1));
    int *x = (int *)malloc(sizeof(int)*(rowIndex+1));
    p[0] = (int *)malloc(sizeof(int));
    p[0][0] = 1;
    *returnSize = rowIndex+1;
    for(int i=1; i<=rowIndex;i++){
        p[i] = (int *)malloc(sizeof(int)*(i+1));
        for(int j=0;j<=i;j++){
            if(j-1<0){
                p[i][j] = p[i-1][j]+0;
            }else if(j>i-1){
                p[i][j] = p[i-1][j-1]+0;
            }else{
                p[i][j] = p[i-1][j-1]+p[i-1][j];
            }
            
        }
    }
    
    for(int i=0;i<rowIndex+1;i++){
        x[i] = p[rowIndex][i];
    }
    return x;
}

运行结果截图:
在这里插入图片描述
这一道题也可以采用我在杨辉三角这篇文章中的思路,因为根据二项式定理,可以求出杨辉三角形每一行的值。

DeepSeek-OCR 本地部署使用教程(附完整环境配置与推理示例) DeepSeek-OCR是由DeepSeek AI推出的开源OCR模型,支持高精度文档识别与结构化输出(如Markdown转换)。本文提供了详细的本地部署指南,包括系统要求(推荐Linux+A100 GPU)、环境配置(Python 3.12.9+PyTorch 2.6.0+CUDA 11.8)、模型下载及两种推理方式:高性能的vLLM(适合批量处理)和灵活的Transformers(适合调试)。支持多种分辨率模式和提示词模板,适用于合同识别、PDF转换等场景。常见问题包括显存优化和性能调优建议。 阅读详情

相关推荐

手把手教你解决Windows 10网络驱动器无法访问问题(附详细排查步骤)

本文详细指导Windows 10用户解决网络驱动器无法访问的常见问题。通过从现象快速定位到系统排查,提供了从检查网络连通性、修复凭据权限到调整高级设置的完整步骤,特别是针对“找不到网络路径”等错误,帮助用户高效恢复对共享资源的访问。

weixin_29233857的博客 516

《LeetCode系列》---杨辉三角

LeetCode力扣上-----杨辉三角问题。

weixin_50584850的博客 1993

知识见闻 - Salesforce公司发展史

不过,通过将自己开发的产品与公司收购的其它云产品进行结合,Salesforce可以为用户提供更多的产品种类,Salesforce可以继续强化自己的平台和产品套件属性,这一平台和套件的发展规模已经远远超出了一个单一的CRM的规模。他们围绕一个相对简单的产品向用户兜售云的概念,然后,他们开始开发其它产品,并寻找培育一个不断增长的生态系统的方法,最理想的情况是能驱动Salesforce的营收增长。现在,Salesforce通过打造更多的用例并改进自己产品的方式来直接应对竞争对手的竞争,从而捍卫自己现在的地位。

guoqx的专栏 1449

leetCode-118: 杨辉三角

杨辉三角_百度百科 最重要的一点就是杨辉三角的每个数字等于上一行的左右两个数字之和,即第 n 行的第 i 个数等于 第 n - 1 行的第 i - 1 个数 + 第 n - 1 行第 i 个数。如第 3 行的第 2 个数 = 第 2 行的第 1 个数 + 第 2 行的第 2 个数。这个特点也是我们代码中使用的一个公式。 题目描述:给定一个非负整数numRows,生成杨辉三角的前numRows行。 示例: 输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1...

jiaomubai的博客 1361

转子动力学 | 临界速度与稳定性分析

本文深入探讨了转子动力学中的核心问题——临界速度与稳定性分析。临界速度是旋转机械发生共振的危险转速,通过模态分析和坎贝尔图可进行预测。文章还剖析了油膜涡动等稳定性问题,并结合ANSYS仿真案例,详细阐述了从建模、分析到设计优化的完整工程实践流程,为旋转机械的可靠设计与安全运行提供关键指导。

weixin_29313239的博客 517

【无人机智能避障】基于深度强化学习的城市复杂环境路径规划实战

本文探讨了基于深度强化学习的无人机在城市复杂环境中的智能避障与路径规划。针对传统算法难以应对动态与非结构化障碍的痛点,文章详细介绍了如何利用DQN算法,通过设计合理的状态空间、奖励函数,并结合经验回放、目标网络等技巧,训练无人机自主学会在楼宇间安全、高效飞行的策略。

weixin_28224217的博客 731

leetcode算法118.杨辉三角

118. 杨辉三角

真正的大师永远怀着一颗学徒的心 1082

肖特基二极管选型参数,结构原理,工艺与注意问题总结

肖特基二极管(Schottky Diode)是一种特殊的二极管,也被称为肖特基势垒二极管。它是利用金属与半导体接触形成的金属-半导体结原理制成的。与传统的PN结二极管相比,肖特基二极管具有更低的正向压降、更高的开关速度、更高的反向恢复时间以及更好的温度稳定性等特点。本文对肖特基二极管的工作原理,结构特点,工艺流程,选型参数及设计注意事项进行总结。

fydar的博客 812

【C语言】LeetCode:杨辉三角

杨辉三角,是二项式系数在三角形中的一种几何排列。

honortech的博客 326

SAP自动化-ME51N批量创建采购申请

2、需要管理员授权RZ11脚本录制回放功能。1、仅限于正对SAP日常工作的批量处理。3、数据模板按实际需求更新。物料编码,工厂,数量。

小九啥也不会 529

月薪2万+的网络工程师,到底藏着哪些“绝活”?

在IT圈,网络工程师是个既神秘又硬核的职业。月薪2万+的网工,早已不是只会拉网线、改IP的“IT民工”,而是掌握了一身“绝技”的技术大牛。他们能让企业网络如丝般顺滑,面对宕机临危不乱,还能用自动化脚本批量搞定上百台设备。想知道这些高薪网工的秘密武器是什么?今天,我就以一个老网工的视角,结合自己和同行们的实战经验,扒一扒那些月薪2万+的网络工程师都身怀哪些绝技。如果你也想挤进高薪行列,不妨参考参考!

网络技术联盟站 359

【一天一道Leetcode】杨辉三角

本篇推文共计2000个字,阅读时间约3分钟。01题目描述题目描述:给定一个非负整数numRows,生成杨辉三角的前numRows行。杨辉三角中,每个数是它左上方和右上方数之和。如下面的示例...

看那个码农的博客 149

Python 爬虫实战:爬虫与 ECharts 结合 —— 前端可视化展示

本文介绍了爬虫技术与ECharts可视化结合的完整实现流程。首先使用Python爬取京东商品数据(价格、评价数等),通过BeautifulSoup解析和pandas处理转换为JSON格式。然后构建前端页面,利用ECharts实现价格分布柱状图、价格-评价数散点图和店铺占比饼图三种可视化效果。文章详细解析了爬虫数据提取、格式转换和前端图表配置等关键技术点,并提供了完整的代码示例。最后提出了基于API接口、数据库存储等扩展方向,为数据采集到可视化展示提供了完整的解决方案。

2503_91057718的博客 630

[LeetCode]第二十题 :帕斯卡三角

题目描述:Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.Example:Input: 5 Output: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]题目解释:给出一个数字,求出来这个数字高度的...

woaily1346的博客 240

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LeetCode 题目 118:杨辉三角

杨辉三角的每一行都从1开始和结束。除了第一个和最后一个数字外,每个数字都是它正上方两个数字的和。第n行(从1开始计数)有n个数字。

10年数据\经营分析经验,现任大厂数据分析负责人 1159

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【LeetCode】118. 杨辉三角

杨辉三角生成问题要求根据给定行数生成三角形数字阵列。摘要:本文分析了四种解法:1)二维动态规划存储所有行;2)滚动数组优化空间;3)组合数公式直接计算;4)利用对称性减少计算量。核心在于利用递推关系triangle[i][j]=triangle[i-1][j-1]+triangle[i-1][j],时间复杂度均为O(n²),空间复杂度从O(n²)到O(n)不等。关键技巧包括滚动数组、组合数计算和对称性优化,适用于不同场景需求。

qq_32019341的博客 894

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C++ 帕斯卡三角形(Pascal’s Triangle)

该方法基于使用二项式系数的方法。我们知道行号 line 中的第 i 个条目是二项式系数 C(line, i) ,并且所有行都以值 1 开头。这个想法是使用C(line, i-1)计算C(line, i )。例如,第一行有“1 ”,第二行有“ 1 1 ”,第三行有“1 2 1 ”,等等。此方法可以优化为使用 O(n) 额外空间,因为我们只需要前一行的值。因此,可以在 O(1) 时间内通过 C(line, i-1) 计算出 C(line, i)3、在 O(n) 时间内,给定行号,找到帕斯卡三角形的特定行。

csdn_aspnet的专栏,请点击博客主页右上角三个点中的私信联系 4585

LeetCode第118题_杨辉三角

给定一个非负整数numRows,生成「杨辉三角」的前numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。

qq_40263592的博客 2179

LeetCode第118题—杨辉三角

LeetCode第118题

Green_756的博客 659

LeetCode--杨辉三角

题干: 给定一个非负整数numRows,生成杨辉三角的前numRows行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 解答一(思路): 1、定义一个List<List<Integer>&gt...

程序大视界 943

Leetcode — 杨辉三角《超详解》

杨辉三角Ⅰ https://leetcode-cn.com/problems/pascals-triangle/ 分析: 1.杨辉三角的边界为1用代码表示 ret[i][0]=ret[i][i]=1; (定义ret一个二维数组,并需对其用malloc分配存储空间) 2.每个数字等于上一行的左右两个数字之和,代码表示 ret[i][j]=ret[i-1][j]+ret[i-1][j-1]。 int** generate(int numRows, int* returnSi...

yj 1527

LeetCode118. 杨辉三角

LeetCode118. 杨辉三角详解!!!

学代码的咸鱼的博客 586

leetcode数组刷题(三)——杨辉三角

leetcode数组刷题(三)——杨辉三角

xxp的博客 286

【leetcode】Python实现-119.杨辉三角形 II

119.杨辉三角形 II 描述: 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 示例: 输入: 3 输出: [1,3,3,1] 我 class Solution: def getRow(self, rowIndex): """ :type rowIndex: int :rtype:...

神不烦 1662

leetcode-118-杨辉三角-C语言

/** * 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, assum...

SFFS 1071

LeetCode 杨辉三角

杨辉三角是一个比较经典的动态规划,它的状态方程也很简单,当j == 0 || i== j时,dp[ i ][ j ] = 1,其他情况则是 dp[i][j] = dp[i - 1][j -1] + dp[i - 1][ j ]。 代码如下: int** generate(int numRows, int* returnSize, int** returnColumnSizes){ //用malloc申请一块连续的空间,该空间内的元素都是指针类型,所以ret因定义为一个二级指针 int** ret.

qq_53060585的博客 329
上一篇: leetcode刷题日记:111. Minimum Depth of Binary Tree(二叉树的最小深度)
下一篇: leetcode刷题日记:121. Best Time to Buy and Sell Stock( 买卖股票的最佳时机)
apprentice_eye
博客等级 码龄6年 1165粉丝 348原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值