杨辉三角在数据结构是较为常见的一个模型,对我们理解ArrayList有很大的帮助。

杨辉三角是一个非常特殊的结构,他的第一行是1,每一行的首尾都是1,中间的每一位是上一行的前一位加上一行的这一位。

这段代码的难点就是如何实现杨辉三角中的中间位置的计算。

定义一个 List 形式的 prevRow 来获取除去第一行以外的前一行,来为下面计算中间位置的值做铺垫。用num变量来记录这个值,再将该值与坐标j的值替换。

import sun.font.CreatedFontTracker;import java.util.ArrayList;
import java.util.List;public class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> ret = new ArrayList<>();List<Integer> list1 = new ArrayList<>();list1.add(1);ret.add(list1);     //此处已经添加了第一行的1//从第二行开始计算for (int i = 1; i < numRows; i++) {//当前行List<Integer> curRow = new ArrayList<>();curRow.add(1);              //每一行开始的1//中间位置的计算List<Integer> precRow = ret.get(i - 1);       //前一行for (int j = 1; j < i; j++) {int num = precRow.get(j) + precRow.get(j - 1);precRow.add(j, num);}curRow.add(1);          //每一行结束的1ret.add(curRow);}return ret;}}

数据结构中ArrayList实现杨辉三角相关推荐

  1. 数据结构之ArrayList实现杨辉三角

    代码主要思想 我们把杨辉三角看作一个直角三角形如图: 从右边的图我们看出来我们需要一个List<List>类型的对象,其中存储List>对象,达到效果,很容易看出来中间数字的求法,由 ...

  2. C语言练习---杨辉三角

    目录 1. 杨辉三角认识 2.  杨辉三角基本实现代码 ① 打印10行杨辉三角 ② 自定义打印0~20行杨辉三角 3. 注意的地方 ① 二维数组VS2019中定义 ② 空格的打印 备注:此文所有程序均 ...

  3. 杨辉三角c语言程序jian,杨辉三角C语言程序队列实现(带源码+解析)

    杨辉三角,即如下 通过学习数据结构,解决杨辉三角,可以使用循环来实现:在循环队列中依次存放第 i-1 行上的元素,然后逐个出队并打印,同时生成第 i 行上的元素并入队. 如果要求计算并输出杨辉三角前 ...

  4. 求杨辉三角的前n行数据_LeetCode算法第118题:杨辉三角

    题目描述: 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5输出:[ [1], [1,1], [1,2,1 ...

  5. 【数据结构】ArrayList的具体使用(杨辉三角、扑克牌游戏)

    目录 1.了解集合的框架 2.了解ArrayList类 2.1.认识ArrayList类当中的属性 2.1.认识ArrayList类库当中的方法 2.1.1.了解构造方法 2.2.ArrayList类 ...

  6. 求杨辉三角的前n行数据_两道简单的套公式算法题:杨辉三角

    杨辉三角应该是大家很早就接触到的一个数学知识,它有很多有趣的性质: 每个数字等于上一行的左右两个数字之和,即 C(n+1,i) = C(n,i) + C(n,i-1) 每行数字左右对称,由 1 开始逐 ...

  7. C语言基础09——数据在内存中的存储。整型的存储、大小端讲解、浮点数的存储、杨辉三角、找凶手、猜名次

    目录 数据类型 基本内置类型 类型的基本分类 整型在内存中的存储 计算机中整数的三种表示方法:原码.反码.补码 大小端 练习 浮点型在内存中的存储 为什么以下程序输出结果与想象不同? 浮点数存储规则 ...

  8. c语言智力题 操作符详解例题 数据存储 指针初阶 水仙花数 杨辉三角 逆序字符串 喝汽水问题 打印图形 猜凶手 使用指针打印数组内容 调整奇数偶数顺序 运动员猜名次

    [题目名称] 下面代码的结果是:a #include <stdio.h> int i; int main() {i--; //sizeof'的返回值是无符号整型if (i > siz ...

  9. 杨辉三角 leetcoed java arraylist

    给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. class Solution {public List<Lis ...

最新文章

  1. 杂题之循环移动字符串
  2. python代码大全p-【python】10分钟教你用python一行代码搞点大新闻
  3. js/jq基础(日常整理记录)-3-一个自定义表格
  4. VMware虚拟机中,RHEL系统下挂载、卸载新硬盘的方法
  5. npm教程:使用nrm切换镜像源
  6. 据说这篇总结覆盖了一般Python开发面试中可能会问到的大部分问题
  7. 从基于Maven的Web应用程序获取版本字符串
  8. python遍历树结构_python 数据结构与算法——树的遍历
  9. Supersocket 如何使用 教程1
  10. hadoop中mapreduce参数优化
  11. Python 西瓜书机器学习支持向量机(SVM)
  12. [转] 为你的项目选择一个合适的开源协议
  13. Windows下VS2008使用ZeroMQ说明
  14. ACR122U Android端应用开发入道指南
  15. 西门子PLCSIM仿真PLC的网口连接与设置
  16. 采用 MRT-LBM 模拟旋转圆柱绕流2---MATLAB代码--王富海2017--基于 MRT-LBM 的流场与声场仿真计算
  17. 乐视超级电视刷鸿蒙,乐视超3X55刷精简+root系统记录
  18. QGroundControl连接数传(3DR)失败
  19. 余三码 2020-12-30
  20. vue调用高德地图实现定位

热门文章

  1. 一文彻底搞懂 Kotlin 中的委托 | 开发者说·DTalk
  2. lol提示游戏环境异常重启计算机,lol游戏环境异常请重启机器,小编告诉你lol游戏环境异常请重启机器怎么解决...
  3. MS1861单颗芯片集成HDMI、LVDS数字视频信号输入输出端可以驱动MIPI(DSI-2)LVDS、Mini-LVD
  4. Linux中特殊符号的作用
  5. 3 photolemur 样式_Photolemur 3 v1.0.0 for Mac 照片增强工具
  6. AWS上的游戏服务:Lumberyard + Amazon GameLift + Twitch
  7. 骁龙660是32位还是64位_骁龙660和626哪个好 骁龙626和骁龙660区别对比
  8. 当你对未来迷茫的时候,请打开这个锦
  9. vc同时打开两个工程
  10. Ubuntu的cp命令详细解释应用