首页 > 代码库 > leetcode 119 Pascal's Triangle II ----- java

leetcode 119 Pascal's Triangle II ----- java

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行的数,要求用o(k)的空间复杂度。

 

也是直接相加就可以了。

public class Solution {
    public List<Integer> getRow(int rowIndex) {

        List ans = new ArrayList<Integer>();

        if( rowIndex == 0){
            ans.add(1);
            return ans;
        }
        else if( rowIndex == 1){
            ans.add(1);
            ans.add(1);
            return ans;
        }    

        int[] result = new int[rowIndex+1];

        result[0] = 1;
        result[1] = 1;
        for( int i = 2;i<rowIndex+1;i++){
            int a = result[0];
            int b = result[1];
            result[i] = 1;
            for( int j = 1;j<i;j++){
                result[j] = a+b;
                a = b;
                b = result[j+1];

            }
        }
        for( int i = 0 ;i<rowIndex+1;i++)
            ans.add(result[i]);


        return ans;
        
    }
}

 

leetcode 119 Pascal's Triangle II ----- java