Substring Subset Permutation Combination
# O(n^3)import itertoolsdef substring(s): substrings = [] for i in range(len(s)): for j in range(i + 1, len(s)+1): substrings.append(s[i:j]) return substrings# O(2^N)def subset(s): store = [] running = [] def…