谁能告诉我一个算法来创建一个函数,该函数将数组的所有可能分区返回到 n 个子集中,同时保持数组的顺序?

Posted

技术标签:

【中文标题】谁能告诉我一个算法来创建一个函数,该函数将数组的所有可能分区返回到 n 个子集中,同时保持数组的顺序?【英文标题】:Can anyone show me an algorithm to create a function that returns all possible partitions of an array into n subsets while maintaining order of array? 【发布时间】:2018-11-09 22:00:21 【问题描述】:

该函数基本上只会生成将数组划分为 n 个桶的所有方法,同时保持原始数组的顺序。它将生成一个数组数组的数组

函数签名:

func(arr, n)
arr = an array of numbers
n = int <= length(arr)

示例函数调用:

func([1, 2, 3], 1) would return [ [[1, 2, 3]] ]
func([1, 2, 3], 2) would return [ [[1],[2, 3]], [[1, 2],[3]]]
func([1, 2, 3], 3) would return [ [[1], [2], [3]] ]

【问题讨论】:

【参考方案1】:

我能够弄清楚这一点。

我做到了 1. 在这篇文章中实现算法 - How to find all partitions of a set 2.过滤掉元素不保持原数组顺序的分区 3.过滤掉大小不为n的分区

【讨论】:

以上是关于谁能告诉我一个算法来创建一个函数,该函数将数组的所有可能分区返回到 n 个子集中,同时保持数组的顺序?的主要内容,如果未能解决你的问题,请参考以下文章

请问谁能告诉我SPFA的算法

谁能告诉我这有啥问题?

谁能告诉我如何创建一个独立的 SWF 启动器来加载 SWF

这个回文算法的时空复杂度?

使用 D&C 算法对数组元素求和会给出错误的输出

谁能告诉我为啥我的过滤数组是空的?