g0101_0200.s0119_pascals_triangle_ii.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java Show documentation
Show all versions of leetcode-in-java Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0101_0200.s0119_pascals_triangle_ii;
// #Easy #Array #Dynamic_Programming #Dynamic_Programming_I_Day_12
// #2022_02_22_Time_0_ms_(100.00%)_Space_41.9_MB_(14.49%)
import java.util.ArrayList;
import java.util.List;
public class Solution {
public List getRow(int rowIndex) {
int[] buffer = new int[rowIndex + 1];
buffer[0] = 1;
computeRow(buffer, 1);
// Copy buffer to List of Integer.
List ans = new ArrayList<>(buffer.length);
for (int i = 0; i < buffer.length; i++) {
ans.add(buffer[i]);
}
return ans;
}
private void computeRow(int[] buffer, int k) {
if (k >= buffer.length) {
return;
}
int previous = buffer[0];
for (int i = 1; i < k; i++) {
int tmp = previous + buffer[i];
previous = buffer[i];
buffer[i] = tmp;
}
buffer[k] = 1;
computeRow(buffer, k + 1);
}
}