当前位置: 首页 > news >正文

leetcode做题笔记118. 杨辉三角

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

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

思路一:动态规划

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

分析:

本题要求杨辉三角,每个数为上一行相同位置和前一位数之和,可用循环将每个数利用上一行计算出来,最后输出dp,即returnnum

总结:

本题考察动态规划的应用,找到状态方程dp[i][j] = dp[i-1][j-1]+dp[i-1][j]即可解决

http://www.lryc.cn/news/146966.html

相关文章:

  • stm32之24.RTC闹钟usart端口修改配置
  • Spring Security无法调用接口错误解决
  • 运维Shell脚本小试牛刀(二)
  • 飞天使-python的模块与包与装饰器
  • linux shell脚本利用 kill -0 检查进程是否存在
  • 抖音视频删了怎么在电脑上找回来
  • 方面级别情感分析之四元组预测
  • 算法 稀疏数组 数组优化 数组压缩 二维数组转稀疏数组 算法合集(二)
  • 交换机端口安全实验
  • c# 本地化中英文切换
  • rabbitmq的优先级队列
  • SpringBoot的Cacheable缓存注解
  • uniapp的 picker 日期时间选择器
  • element ui-Pagination
  • [开发|java] 将数组使用环境变量传递配置给typesafe配置示例
  • MAC苹果电脑如何压缩rar文件?
  • 浅析编程中的语法糖
  • 【【萌新的STM32学习23----数据通信的基本类型】】
  • 标准库STL容器使用值语义
  • dockerfile 命令详解(三)
  • 使用这个插件,fiddler抓包直接生成httprunner脚本
  • 干翻Dubbo系列第十五篇:Rest协议基于SpringBoot的规范化开发
  • 文件上传后端处理页面
  • 小红书母婴类产品同质化严重,如何在市场中脱颖而出?
  • Typora上使用Mermaid语法展示流程图、时序图、甘特图
  • css中文本阴影特效
  • ITIL帮助台怎样帮助企业建设IT服务?
  • 解释区块链技术的应用场景和优势
  • 从编程语言的角度来理解正则表达式
  • DP读书:鲲鹏处理器 架构与编程(十四)ACPI与软件