件名:https : //leetcode-cn.com/problems/pascals-triangle-ii/
回答:
楊恵三角法則によると
1(1 + 1)^ {0}
1 1 (1 + 1)^ {1}
1 2 1 (1 + 1)^ {2}
1 3 3 1(1 + 1)
各位置は二項展開の係数であり、各行の合計は2 の累乗です
対称性の原則n番目の行のm番目の要素は、n番目の行のnm番目の要素に対して相対的です:C(n-1、m-1)= C(n-1、nm)
したがって、n行目のm番目の要素は
順列と組み合わせ式:
f(1)= 1;
f(m)=(n-1)!/((m-1)!*(n-1-(m-1))!)
f(m + 1)=(n-1)!/(m!*(n-1-m)!)
f(m + 1)/ f(m)=(nm)/ m
f(m + 1)= f(m)*(nm)/ m
だから次の答えを得る
public List <Integer> getRow(int rowIndex){
List <Integer>結果= new ArrayList <>(rowIndex + 1);
int numRows = rowIndex + 1;
for(int i = 0; i <numRows; i ++){
if(i == 0){
result.add(1);
}そうしないと {
long value =(long)result.get(i-1)*(long)(numRows-i)/ i;
result.add((int)value);
}
}
結果を返す;
}