有多个数组,比如:{a,b,c,d}{1,2}{g}{q,w,e}想分别从每个数组中取出一个值,然后组合.({a,1,g,q}{a,2,g,q}......)怎么样才能把所有的情况都组合起来呢?
2 回答
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
递归publicListpermutation(List inputList){ ListresList=newArrayList<>(); permutationInt(inputList,resList,0,newchar[inputList.size()]);returnresList;}privatevoidpermutationInt(ListinputList,List resList, intind,char[]arr){if(ind==inputList.size()){resList.add(newString(arr));return;}for(charc:inputList.get(ind).toCharArray()){arr[ind]=c;permutationInt(inputList,resList,ind+1,arr);}}
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
我知道你问的是java的,不过我给个python的,python比较方便嘿嘿,java的原理是一样的L1=['a','b','c','d']L2=['1','2']L3=['g']L4=['q','w','e']list=[[i,j,k,p]foriinL1forjinL2forkinL3forpinL4]补充回答:不确定几个list,不确定list多长的时候#把取来的数组合成一个大list,然后再一行代码就没有然后了s=[['a','b','c','d'],['1','2'],['g'],['q','w','e']]list=list(itertools.product(*s))
添加回答
举报
0/150
提交
取消