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

顺序表 —— OJ题

在上一篇文章中简单介绍了顺序表,这一篇文章讲解下一个比较经典的题:

杨辉三角

先看一下什么是杨辉三角

下面解释:

大概就是这个规律。而 ta 其实就是二维数组 即:

0  1
1  1 1
2  1 2 1
3  1 3 3 1
4  1 4 6 4 1

然后看一下这个题的要求:

意思是 numRows 一个非负数(整数),在根据 numRows 里的整数生成 【杨辉三角 】的“层数”

这是ta给的方法体:

这里的 List <List<Integer>>这个边讲边说

下面说一下 这道题如何解:
首先是步骤:

如果你仔细观察这个图就会发现 ta 的头值和尾值都是 1 而中间的都是运算来的

所以可以将这道题分为 头 中  尾 三部分处理 

头 尾处理比较简单难点是 中 的处理,这时候 再仔细观察 中间的值,是如何得出来的,你会发现:

0  101  1 10 12  1 2 10 1 23  1 3 3 10 1 2 3 4  1 4 6 4 10 1 2 3 4所有的中间值都是由 上一个数组以下标 0 + 1 | 1 + 2 | 2 + 3 
的规律得出下一个数组 1下标 2下标 3下标 的值  如4数组:1下标 = 1+3 、2下标 = 3 + 3 、3下标 = 3+1就可以这样写:
i = 数组
while(ture){
j = 0;
int val = i[j] + i[j+1];
j++;
}

但这时候问题又出现了,以杨辉三角的规律不是那个数组,都有 1 2 3 下标的,这时候就要找条件

的要求了  这时候再仔细看一下图:

0  101  1 10 12  1 2 10 1 23  1 3 3 10 1 2 3 4  1 4 6 4 10 1 2 3 4会发现数组2需要加1次
数组3需要加2次
数组4需要加3次
后面相加的次数依次+1
只有 numRows 等于3时中间值需要加1次,4时加2次.......

这个题最好用顺序表解决 下面看代码:

public List<List<Integer>> generate(int numRows) {List<Integer> list = new ArrayList<>();//List<List<Integer>> ta 的意思就是如果你存放数组(顺序表的底层是数组)的地址//会给这个地址放上 下标  ret是要返回的List<List<Integer>> ret = new ArrayList<>();//处理一层list.add(1);ret.add(list);//处理二层以上for(int i = 1; i<numRows; i++){//头List<Integer> cj = new ArrayList<>();cj.add(1);//中//这里的 get 拿的是数组的整个地址List<Integer> zo = ret.get(i-1);//只有numRows 为3及以上才会运算for(int j = 0; j<i-1; j++){int val = zo.get(j) + zo.get(j+1);cj.add(val);}//尾cj.add(1);ret.add(cj);}return ret;}
List <List<Integer>>:

最后提交一下:

下一篇文章是 单向 无头 不循环链表

http://www.dtcms.com/a/329526.html

相关文章:

  • AJAX:让你的网页“静悄悄”变聪明,体验丝滑升级
  • 15.卷积神经网络
  • 图像分割-动手学计算机视觉9
  • ZED 2i相机调试
  • 以鼠标位置为中心进行滚动缩放
  • CSS counter-reset 与 counter-increment:用 CSS 实现自动编号的黑科技
  • 【日常学习】2025-8-13
  • HTML <iframe> 标签 如何把html写入iframe标签
  • 更友好的并发库conc介绍
  • 七猫免费小说
  • 【117页PPT】企业数字化转型物流信息化咨询项目规划方案(附下载方式)
  • day20
  • Qwen-Image(阿里通义千问)技术浅析(二)
  • GDB命令笔记
  • Windows也能用!Claude Code硬核指南
  • 2021 年全国硕士研究生招生考试真题笔记
  • 基于DDPG的车辆纵向速度控制优化:兼顾速度与乘坐舒适性
  • React UI 框架
  • Vue3 使用 echarts 甘特图(GanttChart)
  • 【(一)页面布局】
  • 海康视觉平台VM创建项目
  • JAVA实战小项目——输入验证码
  • rtmp 推流
  • 浅层神经网络
  • Dimensional Analysis量纲分析入门
  • 猫粮哪个牌子质量好性价比高?2025适合幼猫的猫粮推荐
  • LangGraph 指南篇-基础控制
  • GaussDB 动态内存过高处理办法
  • 从表单校验到API网关:全链路输入安全防护指南
  • SeaTunnel MCP Server 入选《中国信通院开源商业产品及企业典型案例集(2025)》