开发者社区> 问答> 正文

java算法 一个数组中m个数(连续的) 需要分成n组 求这n组的所有组合方式:报错

 例:{1,2,3,4}分2组 可以{1}和{2,3,4} {1,2}和{3,4} {1,2,3}和{4} 不能{1,3}{2,4} 求算法 急用 0 0是要分成n组 不是2组*/

展开
收起
kun坤 2020-06-14 11:11:55 848 0
1 条回答
写回答
取消 提交回答

  • 想到一个用DP解决的方法。f(n, m)表示n个数字,切分成m组。

    f(n, m) = {{1} f(n-1, m-1)} +{{1,2} f(n-2, m-1)} +{{1,2,3} f(n-3, m-1)}…… 

    f(n-1, m-1)表示第一组长度是1,剩下的n-1个数分成m-1组

    f(n-2, m-2)表示第一组长度是2,剩下的n-2个数分成m-1组

    ……


    ######

    求组合,然后过滤掉不需要的。

    2020-06-14 11:12:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载