请自行清除注释查看效果。
最后希望是2个参数,
第一个数组集合。
第二个是数字(可选),如果没有,就循环整个数组,数字的意义是控制循环到哪个字母,比如只组合到D,就是4(或者3)。
2020.07.01 更新
或者第二个参数,控制生成字母组合的位数,比如生成2个字母的组合,或者生成3个字母的组合。
A等于1
B等于2
C等于4
D等于8
E等于16
F等于32
G等于64
H等于128
I等于256
依次类推,直到Z为止,这是原始数据吧,然后生成的字母组合,来对应字母组合相加的数值(运算结果)。
当然,字母排列也是有一定规律的,就是只会按从A到Z的顺序排列,然后组合只会出现下表中左侧的格式,而不会出现右侧的格式:
正确格式 | 错误格式 |
---|---|
AB | BA |
AC | CA |
BC | CB |
BE | EB |
ABC | ACB |
ABD | BAD |
BCD | DCB |
... | ... |
希望说清楚了,汗颜抱歉,之前没有描出清楚问题。
估计你需要把你 想的 需要 用数据或者用例的形式 描述出来,而不是给一大段代码,还让人去分析。
我猜,你是想有一个 特征数据集(数组集合), 然后从中抽取任意n个数据组合(不重复),对应的特征结果。
这个其实是组合遍历的问题。