0
0
DSA Typescriptprogramming~10 mins

Recursion vs Iteration When Each Wins in DSA Typescript - Interactive Comparison Practice

Choose your learning style9 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to calculate factorial using recursion.

DSA Typescript
function factorial(n: number): number {
  if (n === 0) {
    return 1;
  }
  return n * factorial([1]);
}
Drag options to blanks, or click blank then click option'
An + 1
B1
Cn - 1
Dn
Attempts:
3 left
💡 Hint
Common Mistakes
Using n + 1 causes infinite recursion.
Using n directly causes infinite recursion.
2fill in blank
medium

Complete the code to calculate factorial using iteration.

DSA Typescript
function factorialIter(n: number): number {
  let result = 1;
  for (let i = 1; i <= [1]; i++) {
    result *= i;
  }
  return result;
}
Drag options to blanks, or click blank then click option'
Aresult
Bn
Ci
Dn - 1
Attempts:
3 left
💡 Hint
Common Mistakes
Using n - 1 excludes n from multiplication.
Using i or result in the condition causes errors.
3fill in blank
hard

Fix the error in the recursive Fibonacci function to avoid infinite recursion.

DSA Typescript
function fib(n: number): number {
  if (n <= 1) {
    return n;
  }
  return fib([1]) + fib(n - 2);
}
Drag options to blanks, or click blank then click option'
A1
Bn + 1
Cn
Dn - 1
Attempts:
3 left
💡 Hint
Common Mistakes
Using n + 1 causes infinite recursion.
Using n directly causes infinite recursion.
4fill in blank
hard

Fill both blanks to create a recursive function that sums numbers from n down to 1.

DSA Typescript
function sumToN(n: number): number {
  if (n === 0) {
    return 0;
  }
  return n [1] sumToN([2]);
}
Drag options to blanks, or click blank then click option'
A+
B-
Cn - 1
Dn + 1
Attempts:
3 left
💡 Hint
Common Mistakes
Using subtraction instead of addition causes wrong results.
Using n + 1 causes infinite recursion.
5fill in blank
hard

Fill all three blanks to create an iterative function that reverses a string.

DSA Typescript
function reverseString(str: string): string {
  let reversed = '';
  for (let i = [1]; i [2] -1; i[3]) {
    reversed += str[i];
  }
  return reversed;
}
Drag options to blanks, or click blank then click option'
Astr.length - 1
B>
C--
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Starting from 0 and incrementing causes no reversal.
Using '<' instead of '>' causes empty result.