Я пытаюсь создать треугольник Паскаля для строк. Для 5 это дает мне только 5-й ряд пять раз. Не знаю, почему?
public class Solution {
public ArrayList<ArrayList<Integer>> generate(int a) {
ArrayList<Integer> internal = new ArrayList<Integer>();
ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
for(int i = 0 ; i < a ; i++)
{
internal.clear();
internal.add(1);
for(int j = 0 ; j < i ; j++ )
{
internal.add(internal.get(j) * (i - j)/(j + 1));
}
result.add(internal);
}
return result;
}
}
Ожидается:- [1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]
Получение:- [1 ,4,6,4,1],[1,4,6,4,1],[1,4,6,4,1],[1,4,6,4,1],[1,4] ,6,4,1]
Нужна причина, почему это происходит
clear
. Вместо этого начните со спискаnew
. - person Paul Boddington   schedule 12.04.2016internal = new ArrayList<Integer>();
вместоinternal.clear();
- person Nick Suwyn   schedule 12.04.2016