Passion and Patience

Work Hard, Play Hard

导航

Leecode 杨辉三角Ⅱ

Day 7 第二题

我的思路和上一篇的杨辉三角一致,只不过将List获取层数的代码List.get(0).add()修改成数组
class Solution {
    public List<Integer> getRow(int rowIndex) {
        List<Integer> getRow = new ArrayList<Integer>();
        
        int[][] dp = new int[rowIndex+1][rowIndex+1];
        getRow.add(1);
        dp[0][0] = 1;

        for(int i = 1;i<=rowIndex;i++){
            dp[i][0] = 1; 
            
            for(int j=1;j<=i-1;j++){
                dp[i][j] = dp[i-1][j-1]+dp[i-1][j];
                if(i==rowIndex){
                    getRow.add(dp[i][j]);
                }
            }   
            dp[i][i] = 1;    
            if(i==rowIndex){
                getRow.add(1);
            }           
        }
        
        
       return getRow;
    }
}
lincs设计 节约空间复杂度 的代码
class Solution {
    public List<Integer> getRow(int N) {
        List<Integer> res = new ArrayList<>(N + 1);
        for (int i = 0; i <= N; i++) {
            res.add(1);
            for (int j = i - 1; j > 0; j--) {
                res.set(j, res.get(j) + res.get(j - 1));
            }
        }
        return res;
    }
}

posted on 2024-03-21 16:37  安静的聆  阅读(5)  评论(0编辑  收藏  举报