1
0
mirror of https://github.com/kamranahmedse/developer-roadmap.git synced 2025-08-16 06:04:24 +02:00

Merge pull request #5722 from zongsforce/patch-2

modify the sample code
This commit is contained in:
dsh
2024-05-23 15:03:17 +01:00
committed by GitHub

View File

@@ -3,9 +3,24 @@
Factorial complexity algorithms have a runtime of `O(n!)`. This is the worst case scenario for an algorithm. Factorial complexity algorithms are very inefficient and should be avoided.
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
def generate_permutations(s):
# Base case: If the string length is 1, return a list containing the string
if len(s) == 1:
return [s]
# Initialize the result list
permutations = []
# Recursively generate all permutations
for i in range(len(s)):
# Current character
current_char = s[i]
# Remaining characters
remaining_chars = s[:i] + s[i+1:]
# Generate all permutations of the remaining characters
for perm in generate_permutations(remaining_chars):
# Add the current character to the front of each generated permutation
permutations.append(current_char + perm)
return permutations
```