modify the sample code

the original sample code's complexity is O(n) instead of O(n!)
pull/5722/head
zongsforce 5 months ago committed by GitHub
parent 7acdbcb4c9
commit 38c43c1c95
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 25
      src/data/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/105-factorial.md

@ -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
```

Loading…
Cancel
Save