体会
自己对动态规划真的不熟悉,所以看了看b站还有题解开始慢慢理解并加深。感觉动态规划就是通过列出一堆东西,找规律,然后可以列出状态方程,然后balabala。奈何没大厂同学那么深厚基础,至今只能看这别人的答案慢慢去理解,而自己还没弄手写几道动态规划的题,可谓是别人的简单题就是我的难题。
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result=new ArrayList<List<Integer>>();
int[][] dp=new int[numRows][numRows];
dp[0][0]=1;
for (int i = 1; i < numRows; i++) {
for (int j = 0; j <=i; j++) {
if(j==0)dp[i][j]=1;
else dp[i][j]=dp[i-1][j-1]+dp[i-1][j];
}
}
for (int i = 0; i < dp.length; i++) {
List<Integer> tmp=new ArrayList<>();
for (int j = 0; j < dp.length; j++) {
if(dp[i][j]==0) break;
tmp.add(dp[i][j]);
}
result.add(new ArrayList<>(tmp));
}
return result;
}
}
//作者:shou-hu-zhe-t