![JAR search and dependency download from the Maven repository](/logo.png)
g0101_0200.s0118_pascals_triangle.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0101_0200.s0118_pascals_triangle;
// #Easy #Top_Interview_Questions #Array #Dynamic_Programming #Data_Structure_I_Day_4_Array
// #Dynamic_Programming_I_Day_12 #Udemy_Dynamic_Programming
// #2022_06_23_Time_1_ms_(67.08%)_Space_42.4_MB_(5.58%)
import java.util.ArrayList;
import java.util.List;
/**
* 118 - Pascal's Triangle\.
*
* Easy
*
* Given an integer `numRows`, return the first numRows of **Pascal's triangle**.
*
* In **Pascal's triangle** , each number is the sum of the two numbers directly above it as shown:
*
* ![](https://upload.wikimedia.org/wikipedia/commons/0/0d/PascalTriangleAnimated2.gif)
*
* **Example 1:**
*
* **Input:** numRows = 5
*
* **Output:** [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
*
* **Example 2:**
*
* **Input:** numRows = 1
*
* **Output:** [[1]]
*
* **Constraints:**
*
* * `1 <= numRows <= 30`
**/
@SuppressWarnings("java:S2589")
public class Solution {
public List> generate(int numRows) {
List> output = new ArrayList<>();
for (int i = 0; i < numRows; i++) {
List currRow = new ArrayList<>();
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i || i <= 1) {
currRow.add(1);
} else {
int currCell = output.get(i - 1).get(j - 1) + output.get(i - 1).get(j);
currRow.add(currCell);
}
}
output.add(currRow);
}
return output;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy