gpt4 book ai didi

java - 动态数组列大小 Pascal Triangle Java

转载 作者:行者123 更新时间:2023-11-30 06:26:11 25 4
gpt4 key购买 nike

我想要动态调整列的数组大小,下面是我的方法。然而,在迭代 for 循环时,我得到的列大小恒定为 1。

private int[][] res;

private void populate(int i, int j) {
if(j == 0 || j == i) {
res[i][j] = 1;
} else {
res[i][j] = res[i-1][j-1] + res[i-1][j];
}
}

public int[][] generate(int n) {

res = new int[n][];

// This part, changing i to n gives me constant columns of size n where empty entries are zeros, keeping col size i returns me constant column of size 1

for(int i = 1; i <= res.length; i++) {
res[i-1] = new int[i];
}

for(int i = 0; i < n; i++) {
for(int j = 0; j <= i; j++) {
populate(i,j);
}

}

return res;
}

对于 n = 3:

期望的输出

           - [ [1],
[1,1],
[1,2,1] ]

我的输出,col 大小为 i

           -  [ [1] ,
[1],
[1] ]

我的输出,col size = 3 = n

           -  [ [1,0,0] ,
[1,1,0],
[1,2,1] ]

如何在不使用 ArrayList 的情况下为数组设置动态列大小

最佳答案

嗯,你的代码当然适合我:

Test1 t = new Test1();
int[][] rr = t.generate(5);
for (int[] ints : rr) {
System.out.println("[ " + Arrays.toString(ints) + "]");
}

打印输出:

[ [1]]
[ [1, 1]]
[ [1, 2, 1]]
[ [1, 3, 3, 1]]
[ [1, 4, 6, 4, 1]]

关于java - 动态数组列大小 Pascal Triangle Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47157379/

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