119. Pascal's Triangle II

来源:互联网 发布:tcp协议端口号 编辑:程序博客网 时间:2024/05/17 02:58

Given an index k, return the kth row of the Pascal's triangle.

For example, given k = 3,
Return [1,3,3,1].

Note:

Could you optimize your algorithm to use only O(k) extra space?


数学方法,第K行的所有元素有K+1个,分别是

Ck0,Ck1,Ck2…………,Ckk-1,Ckk  就是算组合数。

public class Solution {   public List<Integer> getRow(int rowIndex){List<Integer>retlist=new ArrayList<>();for(int i=0;i<=rowIndex;i++)retlist.add((int) com(rowIndex, i));return retlist;}private long com(int n, int r){if (n - r < r)r = n - r; long i, j, s = 1;for (i = 0, j = 1; i < r; ++i){s *= (n - i);for (; j <= r && s % j == 0; ++j)s /= j;}return s;}}



0 0
原创粉丝点击