119. Pascal's 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?

一刷
题解:由于res[i]用到了上一层的res[i-1], res[I], 为避免影响结果,并只用一维数组求解,新的一层从右到左改变res。并且每次进入新的一层,先在末尾append一个1,保证size是我们所需要的且最后一个元素为1

public class Solution {
    public List<Integer> getRow(int rowIndex) {
        if(rowIndex <0) return new ArrayList<>();
        List<Integer> res = new ArrayList<>(rowIndex+1);
        for(int i=0; i<=rowIndex; i++){
            res.add(1);
            for(int j=res.size()-2; j>=1; j--){
                res.set(j, res.get(j-1)+res.get(j));
            }
        }
        return res;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容