当前位置: 代码迷 >> 综合 >> 26、杨辉三角
  详细解决方案

26、杨辉三角

热度:67   发布时间:2023-09-24 02:31:46.0

题目

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;}
}