Typed DSA

Recursion

Generate Parentheses

Generate Parenthesis
function (: number): string[] {
  const : string[] = [];
  function (: string, : number, : number) {
    if (. === 2 * ) {
      .()
      return
    }
 
    if ( < ) {
      ( + "(", +1, )
    }
 
    if ( <  ) {
      ( + ")", , +1)
    }
  }
 
  ("", 0 , 0)
 
  return 
}
 
.('generateParenthesis(20):', (5))

Combination Sum

 
function (: number[], : number): number[][] {
  const : number[][] = []
 
  function (: number[], : number, : number) {
    if ( < 0) {
      return
    }
 
    if ( === 0) {
      .([...])
      return
    }
 
    for (let  = ;  < .; ++) {
      .([])
      (, ,  - [])
      .()
    }
  }
 
  ([], 0, )
 
  return 
}
 
.('combinationSum([2,3,6,7], 7):', ([2,3,6,7], 7))
Edit on GitHub

Last updated on

On this page