Java实现第八届蓝桥杯杨辉三角
JAVA 实现 蓝桥 第八届 杨辉三角
2023-09-14 08:58:11 时间
杨辉三角
杨辉三角也叫帕斯卡三角,在很多数量关系中可以看到,十分重要。
第0行: 1
第1行: 1 1
第2行: 1 2 1
第3行: 1 3 3 1
第4行: 1 4 6 4 1
…
两边的元素都是1, 中间的元素是左上角的元素与右上角的元素和。
我们约定,行号,列号都从0计数。
所以: 第6行的第2个元素是15,第3个元素是20
直观地看,需要开辟一个二维数组,其实一维数组也可以胜任。
如下程序就是用一维数组“腾挪”的解法。
public class Main {
static long f(int row, int col){
if(row<2) return 1; //第一行和第二行都为1
if(col==0) return 1;
if(col==row) return 1; //最后一个数
long[] a = new long[row+1];
a[0]=1;
a[1]=1;
int p = 2;
while(p<=row){ //p:行数
a[p] = 1; //杨辉每一行的最后一个数为1
for(int q=p-1;q>0;q--) //从杨辉每一行的倒数第二数开始计算 填空
a[q] = a[q] + a[q-1]; //可以看出是从后往前来计算
p++;
}
return a[col]; //返回指定的行数的值
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(f(6,2));
System.out.println(f(6,3));
}
}
相关文章
- Java实现 蓝桥杯 算法训练 字符串长度(IO无敌)
- Java实现 LeetCode 210 课程表 II(二)
- Java实现 洛谷 P1035 级数求和
- java实现纵横火柴棋
- java实现欧拉与鸡蛋
- java实现第六届蓝桥杯胡同门牌号
- java实现第七届蓝桥杯棋子换位
- java实现第四届蓝桥杯组素数
- java实现第六届蓝桥杯九数分三组
- java实现第七届蓝桥杯生日蜡烛
- Java实现第十届蓝桥杯求和
- Java实现 蓝桥杯VIP 算法提高 交换Easy
- Java实现 蓝桥杯VIP 算法提高 不同单词个数统计
- Java实现 蓝桥杯VIP 算法提高 快速幂
- Java实现 蓝桥杯VIP 算法提高 P0404
- Java实现 蓝桥杯VIP 算法训练 确定元音字母位置
- Java实现 蓝桥杯VIP 算法训练 新生舞会
- Java实现 蓝桥杯VIP 算法训练 新生舞会
- Java实现 蓝桥杯VIP 算法训练 输出米字形
- Java实现 蓝桥杯 算法训练 区间k大数
- java 11 Stream 加强
- Atitit java播放器调音速率快慢的实现 目录 1.1. 原理 本质上是改变采样率即可1 2. 使用Java增加/降低AudioInputStream的音频播放速度(Increase/dec
- JAVA集合类(代码手写实现,全面梳理)