1. 程式人生 > >26、楊輝三角

26、楊輝三角

題目

在這裡插入圖片描述

這道題很簡單,只需要兩個for迴圈,並且判斷內層中的變數是否等於1或者外層的值,如果等於的話直接賦值1,否則就取出上一層的值並且取出相鄰的值
程式碼:

public static List<List<Integer>> generate(int numRows) {
	        List<List<Integer>> target = new ArrayList<>();
	        for(int i = 1; i <= numRows; 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;
	    }

排行96%
排行比較高的,思路差不多其實

class Solution {
    public List<List<Integer>> generate(int numRows) {
        List <List<Integer>> tri=new ArrayList<List<Integer>>();
        if(numRows==0){
            return tri;
        }
        tri.add(new ArrayList<>());
        tri.get(0).add(1);
        for(int i=1;i<numRows;i++){
            List<Integer> row=new ArrayList<>();
            List<Integer> preRow=tri.get(i-1);
            row.add(1);
            for(int j=1;j<i;j++){
                row.add(preRow.get(j-1)+preRow.get(j));
            }
            row.add(1);
            tri.add(row);
        }
         return tri;
    }
}