LeetCode-Array-119. Pascal's Triangle II

来源:互联网 发布:linux 克隆 编辑:程序博客网 时间:2024/05/20 05:54

**问题:**Given an index k, return the kth row of the Pascal’s triangle.For example, given k = 3,
Return [1,3,3,1].
思考:要求得到第k层的三角,但只能用O(k)的空间,所以不能用上一题二维数组的方式,只能用一维数组滚动得到。帕斯卡三角的计算公式是,A[k][n]=A[k-1][n-1]+A[k-1][n]。假设现在数组存放的是第4层的数据[1,4,6,4,1],如果要计算第5层数据,要是从前往后计算,A[5,3]=A[4][2]+A[4][3]=10,因为只有一个数组,那么10会覆盖6的值,之后再计算A[5,4]就会出现问题。所以需要从后往前计算。先计算A[5][4]=A[4][3]+A[4][4]=5,5去覆盖第二个4,然后A[5][3]=A[4][2]+A[4][3]=10,不会受到影响。
代码:
这里写图片描述

0 0
原创粉丝点击