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