Алгоритм всех возможных способов удаления заглавных букв в строке
Привет.
Я работаю над проектом, в котором частично мне нужна функция, которая возвращает все возможные способы удаления заглавных букв строки в виде списка или массива.
Например, моя строка: aAbBcCdD
Алгоритм или функция должны возвращать список или массив, подобный этому :
aabbccdd и
abBcCdD
aAbcCdD
aAbBcdD
aAbBcCd
abcCdD
abBcdD
abBcCd
aAbcdD
aAbcCd
aAbBcd
abcdD
abcCd
abBcd
aAbcd
abcd
Я так много искал об этом, и кто-то сказал: "используйте рекурсивную функцию, которая берет декартово произведение всех возможностей для первой буквы и функции, примененной к остальной части строки. (Если первая буква-заглавная, есть две возможности. Если первая буква строчная, то есть только одна возможность.)"
Я немного знаю о рекурсивных функциях и декартовом произведении, но понятия не имею, как это сделать !
кто-нибудь может мне помочь ?
спасибо.
Что я уже пробовал:
А Л М О с т н о т н и н г :(
BillWoodruff
Разумное ожидание того, что вы попробовали больше, чем "почти ничего", - вот о чем этот форум. Проявите некоторое усилие.
Mohammad-R
Да, я пробовал некоторые способы, но то, что я пробовал, - это какие-то глупые заявления "за" и бла-бла-бла, которые, по-моему, они не заслуживают того, чтобы использовать как "то, что я пробовал", и я удалил их !
Кроме того, нет никакого кода, который я хотел бы исправить, и мне не нужен код того, что мне нужно ! Мне нужен способ, или алгоритм, или намек на это, как сказал пполиморф.