Generuj podsekwencje

Mam ciąg taki jak „0189”, dla którego muszę wygenerować wszystkie podsekwencje, ale kolejność poszczególnych znaków musi być zachowana, tj. Tutaj 9 nie powinno się znajdować przed 0, 1 lub 8. Ex: 0, 018, 01 , 09, 0189, 18, 19, 019 itd.

Innym przykładem jest „10292”, dla którego podciągami byłyby: 1, 10, 02, 02, 09, 29, 92 itd. Jak można zauważyć „02” dwa razy, ponieważ „2” pojawia się dwukrotnie w podanym łańcuchu. Ale znowu takie rzeczy jak: 21, 01, 91 są nieważne, ponieważ kolejność ma być zachowana.

Każdy algorytm lub kod psuedo, który mógłby zostać zaimplementowany w C / C ++, zostałby doceniony!

questionAnswers(4)

yourAnswerToTheQuestion