杨辉三角,找规律
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; }