使用递归打印所有子集和打印字符串或整数数组的所有子序列之间有什么区别

问题描述

用于打印字符串的所有子集和打印字符串的所有子序列的递归代码是否有所不同? 我们知道,字符串的子序列是字符串子集的一部分,例如:

string str="abc";
sub sequences of str : " ",a,b,c,ab,bc,ac,abc;
subsets of str : " ",ba,cb,ca,abc,acb,bac,bca,cab,cba; 

解决方法

子序列是指您必须按顺序选择元素(向前移动)。

str = "abc"

pick 'a'
pick 'c'
as you picked 'c',you cant pick 'b' as it is present backwards of 'c'.

在子集中,您可以使用字符的ay组合

str = "abc"

pick 'a'
pick 'c'
you can pick 'b' as well,even though it is at previous position than 'c'