求多数组的排列组合算法...
有多个数组, 比如:
{a,b,c,d}
{1,2}
{g}
{q,w,e}
想分别从每个数组中取出一个值, 然后组合.({a,1,g,q} {a,2,g,q}... ...)
怎么样才能把所有的情况都组合起来呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有多个数组, 比如:
{a,b,c,d}
{1,2}
{g}
{q,w,e}
想分别从每个数组中取出一个值, 然后组合.({a,1,g,q} {a,2,g,q}... ...)
怎么样才能把所有的情况都组合起来呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
递归
我知道你问的是java的,不过我给个python的,python 比较方便 嘿嘿,java的原理是一样的
补充回答:不确定几个list,不确定list多长的时候
记录每个数组的当前元素下标。
问题中的例子为例:
[0, 0, 0, 0]
[0, 0, 0, 1]
[0, 0, 0, 2]
最后一个走到头了,于是他的前一个加1,自己自觉退到0,
这时发现{g}也到头了,于是他的前一个(假设为i)加1,i之后的都统统清零:
[0, 1, 0, 0]
[0, 1, 0, 1]
...
直到第一个数也走到头。