杨辉三角

杨辉三角的思路就是上一层的相邻两数相加得到下一层的数
那么可以使用两个队列来进行数的存储和计算
A队列的数两两相加导入B队列
基本思路(多层):首先初始化A队列,即杨辉三角顶层
接着设置两个参数L,R用于存储出队数字,再设一个参数T = L + R 用于计算下一层数字
实际上每次出队的数字仅给R
打印R,即打印本层的数字
由于杨辉三角下层第一个数 = 0 + 上层一个数,所以L初始总为0
那么T = L + R = 1就可以作为下一层的第一个数(入队Q2)
接着把R 赋予 L,再出队一个数给R
循环出队,赋予,相加,入队,实现本层数字的打印和下一层数字的计算、保存
这样当到最后一个数时,下层的最后一个数 = 上层的最后一个数 + 0
所以此时只设置 T = L
一层的计算结束后,我们需要将
我们以4层杨辉为例
1
1 1
1 2 1
1 3 3 1
初始化A队列 = [1]
A出队给 R, R = 1,打印R,第一层打印完成
T = L + R = 0 + 1 = 1,入队B,得到第二层第一个数
R赋给L ,接着计算下一个数,而下一个数已经是第二层的最后一个数,因此T = L = 1,入队B
此时 B队列 = [1, 1]

将B 队列 赋予A队列,重复上一步
A = [1, 1]
打印第二层
L = 0, R = 1, T &#

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值