27、杨辉三角2

题目描述
在这里插入图片描述
跟之前不同的是这个只需要返回第n层即可,所以这次如果不考虑其复杂度,可以直接将昨天的代码给改造一下
如下

	public static List<Integer> getRow(int rowIndex) {
		List<List<Integer>> target = new ArrayList<>();
        for(int i = 1; i <= rowIndex + 1; i++){
        	List<Integer> mid = new ArrayList<>();
        	for(int j = 1; j <= i; j++){
        		if(j == 1 || j == i){
        			mid.add(1);
        		}else {
        		
					mid.add(target.get(i-2).get(j-2)+target.get(i-2).get(j-1));
				}
        	}
        	
        	target.add(mid);	        
        }
        return target.get(rowIndex);
    }

考虑如何进行优化
查看如下的代码,没怎么看懂…
待看…

class Solution {
    public List<Integer> getRow(int rowIndex) {
        Integer[] rows = new Integer[rowIndex + 1];
        rows[0] = 1;
        if(rowIndex > 0){
            rows[1] = 1;
        }

        for(int i = 2;i <= rowIndex; i++){
            for(int j = i - 1;j > 0;j--){
               rows[j] = rows[j] + rows[j - 1];
            }
            rows[i] = 1;
            
        }
        return Arrays.asList(rows);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_34446716/article/details/83904563