求助一个超级难的算法,

qdk200 2016-11-17 08:18:11
有个很难的问题,需要一个算法来实现,不知道哪位超级高手能搞定或者有个思路:
从n个数组中选取m个元素,输出分别从这n个数组中选取元素的“数量(个数)”的组合。
例如:3个数组 [1, 3, 4]; [2, 5]; [6, 7],从这3个数组中选择2个元素,输出从这3个数组中可能选取元素的个数,例如[2,0,0],就是从第一个数组中选2个元素,第二第三个数组中选0个元素,或者[1,0,1]就是从第一个和第3个数组中分别选1个元素,第二个数组中选择0个元素。
这种算法存在吗?
...全文
257 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qdk200 2016-11-17
  • 打赏
  • 举报
回复
其实就是和数组的元素内容没有关系,就是想得到取得m个数,例如3个已定的数组中得到5个数,就想得到这5个数都分别在第几个数组中取了几个数,不管取得数是什么,只要总共取了5个数就行。
正怒月神 2016-11-17
  • 打赏
  • 举报
回复
怎么看起来,选择的和数组没关系?
qq_27168057 2016-11-17
  • 打赏
  • 举报
回复
没看懂没看懂
  • 打赏
  • 举报
回复
看来看去你这个不就是二维数组吗?哪来的算法……
xuzuning 2016-11-17
  • 打赏
  • 举报
回复
如果你 [2,0,0]、[1,0,1] 这样指定取数的话,那就直接取就是了(至多判断一下是否越界) 如果你是要取得所有组合的集合,那么 可将 n 个数组的下标拼装成一个数组, 然后使用普通的求组合方法取出所需个数的元素 最后再还原成原始数组的值
qdk200 2016-11-17
  • 打赏
  • 举报
回复
给个思路吧!
王志威丶 2016-11-17
  • 打赏
  • 举报
回复
答:这种算法存在.

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧