118. 杨辉三角

杨辉三角,找规律

1

1,1

1,2,1

1,3,3,1

1,4,6,4,1

 我们用dp[i,j]表示第i行第j列的元素,

我们可以发现d[i,0]和ddp[i,i]始终未1,

其余元素中,存在dp[i,j]=dp[i-1,j-1]+dp[i-1,j]

找出规律后我们就可以得出如下代码,时间复杂度O(numRows^2),空间复杂度O(numRows^2)

public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> res = new ArrayList<>();
        for (int i=0;i<numRows;i++){
            List<Integer> temp = new ArrayList<>();
            for (int j=0;j<=i;j++){
          // 首尾的2种特殊情况
if (j==0 || j==i){ temp.add(1); }else{
          // 一般情况 temp.add(res.get(i
-1).get(j-1)+res.get(i-1).get(j)); } } res.add(temp); } return res; }
争取早日不再是一只菜鸡
原文地址:https://www.cnblogs.com/jchen104/p/14596735.html