我有一个列表,我想将其拆分为带有+/- 1项的子列表。
示例
我有一个包含17个项目的列表。我想要的是将它分成4个子列表,如这些
1.List = 5 elements
2.List = 4 elements
3.List = 4 elements
4.List = 4 elements
我该怎么做?我应该在这里使用什么算法?
答案 0 :(得分:2)
使用整数除法来获取每个组中的项目,然后使用模块划分来获得将具有+1项目的前n个组的数量。例如: 17个项目分为4组:
17 / 4 = 4
- 所以将有4个组有4个元素。17 % 4 = 1
- 所以前1组将有一个额外的1个元素。另一个例子:
18 / 4 = 4
- 所以将有4个组有4个元素。18 % 4 = 2
- 所以前两组将有一个额外的1个元素。答案 1 :(得分:1)
您想要的是原始列表的电源设置。在Power Set page at Wikipedia
中给出了检索幂集和相应属性的更通用的方法