Skip to content

Instantly share code, notes, and snippets.

@michaelficarra
Created February 23, 2024 00:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save michaelficarra/d9596dce09cd4de0470cca7524654a86 to your computer and use it in GitHub Desktop.
Save michaelficarra/d9596dce09cd4de0470cca7524654a86 to your computer and use it in GitHub Desktop.
generate a row of Pascal's triangle in linear time and constant space
function* pascalsTriangleRow(row) {
let prev = 1;
for(let i = 1; i <= row; ++i) {
yield prev;
prev = (prev * (row - (i - 1))) / i;
}
yield 1;
}
Array.from(pascalsTriangleRow(19));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment