Pascal's Triangle II

来源:互联网 发布:网络海外代购发展趋势 编辑:程序博客网 时间:2024/06/09 23:11

https://oj.leetcode.com/problems/pascals-triangle-ii/

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?

public List<Integer> getRow(int rowIndex)

这一题和Pascal's Triangle区别不大,区别就在于要循环利用一段空间而不是每次储存结果。

    public List<Integer> getRow(int rowIndex) {        Integer[] res = new Integer[rowIndex + 1];        for(int i = 0; i < res.length; i++)            res[i] = 0;        res[0] = 1;        int counter = 1;        while(counter <= rowIndex){            for(int i = counter; i >= 1; i--){                res[i] = i == counter ? 1 : res[i] + res[i - 1];            }            counter++;        }        return Arrays.asList(res);    }


这一题其实有一个ON的做法,基于数学的思维。大家有兴趣就自己去搜索吧。

0 0