leetcode-119。YanghuiTriangleⅡ

件名:https : //leetcode-cn.com/problems/pascals-triangle-ii/

回答:

楊恵三角法則によると

            1(1 + 1)^ {0}

        1 1                      (1 + 1)^ {1}(1 + 1)^ {1}(1 + 1)^ {1}

     1 2 1                   (1 + 1)^ {2}(1 + 1)^ {2}

1 3 3 1(1 + 1)_ {3} ^ {}

 

各位置は二項展開の係数であり、各行の合計^ {n-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);

            }

        }

        結果を返す;

    }

おすすめ

転載: blog.csdn.net/wuqiqi1992/article/details/108346531