This directory contains Python implementations of problems solved using recursion and dynamic programming.
- Fibonacci (Iterative): Iterative implementation of the Fibonacci sequence.
- Fibonacci (Recursive): Simple recursive implementation of the Fibonacci sequence.
- Fibonacci (Dynamic Programming): Optimized Fibonacci sequence using memoization.
- Coin Change (Recursive): Basic recursive solution to find the minimum number of coins for change.
- Coin Change (Dynamic Programming): Optimized solution to the coin change problem using dynamic programming.
-
Cumulative Sum: Computes the cumulative sum from 0 to
$n$ recursively. - Reverse a String: Reverses a string using recursive calls.
- String Permutations: Generates all possible permutations of a given string.
- Sum of Digits: Calculates the sum of all individual digits in an integer recursively.
- Word Split: Determines if a string can be split into words from a given list.