gpt4 book ai didi

java - 帕斯卡三角形的递归方法

转载 作者:行者123 更新时间:2023-12-01 08:07:51 25 4
gpt4 key购买 nike

我编写了一种方法来评估 n 行的帕斯卡三角形。但是,当我测试该方法时,我收到错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1

这是代码:

public static int[] PascalTriangle(int n) {
int[] pt = new int[n + 1];
if (n == 0) {
pt[0] = 1;
return pt;
}
int[] ppt = PascalTriangle(n - 1);
pt[0] = pt[n] = 1;
for (int i = 0; i < ppt.length; i++) {
pt[i] = ppt[i - 1] + ppt[i];
}
return pt;
}

如果您对如何编辑代码来解决问题有任何想法,请告诉我。

最佳答案

for(int i = 0; i < ppt.length; i++)
{
pt[i] = ppt[i-1] + ppt[i];

在第一次迭代中,i == 0,因此(i-1) == -1。这就是错误的原因。

您可以特殊处理边界来避免这种情况。或者正如其他人所建议的那样,从 1 而不是 0 开始 i

关于java - 帕斯卡三角形的递归方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20039181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com