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

【leetcode hot 100 118】杨辉三角

解法一:(动态规划)①定义:dp[i][j]表示下标为ij的数的值,dp[m][n] ②初始状态:dp[0][j]=1;dp[i][last]=1 ③状态转移方程:dp[i][j] = dp[i-1][j-1] + dp[i-1][j]

class Solution {public List<List<Integer>> generate(int numRows) {// 定义:dp[i][j]表示下标为ij的数的值,dp[m][n]  // 初始状态:dp[0][j]=1;dp[i][last]=1// 状态转移方程:dp[i][j] = dp[i-1][j-1] + dp[i-1][j]LinkedList<List<Integer>> result = new LinkedList<>();if (numRows == 0) {return result;}for (int i = 0; i < numRows; i++) {List<Integer> row = new LinkedList<>();if (i == 0) {row.add(1);}else {row.add(1); // 第一个数放1for (int j = 1; j < i; j++) {// 中间的数等于上面两个数之和row.add(result.get(i - 1).get(j - 1) + result.get(i - 1).get(j));}row.add(1); // 最后一个数是1}result.add(row);}return result;}
}

注意:

  • 中间的数等于上面两个数之和,要用j<i来判断,而不是j<i-1for (int j = 1; j < i; j++)

http://www.mrgr.cn/news/97723.html

相关文章:

  • 蓝桥杯-蓝桥幼儿园(Java-并查集)
  • 【小沐杂货铺】基于Three.JS绘制三维数字地球Earth(GIS 、WebGL、vue、react,提供全部源代码)
  • 前端-项目工程化(快速理解并会用)
  • 前端知识点---闭包(javascript)
  • 使用MySQL时出现 Ignoring query to other database 错误
  • Dubbo 注册中心与服务发现
  • 基于SpringBoot的“线上考试系统”的设计与实现(源码+数据库+文档+PPT)
  • Spring Boot 常用依赖介绍
  • 瓦片数据合并方法
  • 【Python】Python 100题 分类入门练习题 - 新手友好
  • Mysql-事务和索引
  • 【OSG学习笔记】Day 1: OSG初探——环境搭建与第一个3D窗口
  • Linux(十三)fork + exec进程创建
  • PyTorch 学习笔记
  • vue3+element-plus动态与静态表格数据渲染
  • 0.机器学习基础
  • 循环神经网络 - 参数学习之随时间反向传播算法
  • Android Input——输入系统介绍(一)
  • 实现usb的MTP功能
  • window上 docker使用ros2开发并usbip共享usb设备