LeetCode 118. triángulo de Pascal (Java)

118. triángulo de Pascal

Dado hace un numRows enteros no negativos, con la generación de numRows Yang Hui triángulo.
En el triángulo de Pascal, cada número es el número de la parte superior izquierda y superior derecha e.

Ejemplo:
Entrada: 5
de salida:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]

Fuente: estancia botón (LeetCode)
enlace: https: //leetcode-cn.com/problems/pascals-triangle
propiedad de la deducción de todas las redes. reimpresión comercial póngase en contacto con la reimpresión autorizada oficial, no comercial por favor indique la fuente.

class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> triangle=new ArrayList<List<Integer>>();
        if(numRows==0)
        {
            return triangle;
        }
        triangle.add(new ArrayList<>());
        triangle.get(0).add(1);
        for(int rowNum=1;rowNum<numRows;rowNum++)
        {
            List<Integer> row=new ArrayList<>();
            List<Integer> prevRow = triangle.get(rowNum-1);//前一行的所有元素
            row.add(1);//第一个元素为1
            for(int i=1;i<rowNum;i++)
            {
                row.add(prevRow.get(i-1)+prevRow.get(i));//之后的元素等于其左上角元素加其上方元素
            }
            row.add(1);//最后一个元素为1
            triangle.add(row);//将新一行加入数组中
        }
        return triangle;
    }
}
Publicado 88 artículos originales · ganado elogios 0 · Vistas 2151

Supongo que te gusta

Origin blog.csdn.net/nuts_and_bolts/article/details/105103469
Recomendado
Clasificación