一维数组分块:满足最小行长度且行元素数差值不超1
一维数组按约束均匀拆分实现
需求说明
- 将一维数组尽可能均匀拆分为多行
- 每行元素数范围:不小于
$min,且不大于2*$min - 1 - 各行元素数差值不得超过1,较长的行需排在前面
示例演示
以下是包含65个元素的数组,在$min=9时的拆分示例:
示例代码
$x = range(1, 65); $min = 9;
拆分结果
[ [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35, 36, 37, 38], [39, 40, 41, 42, 43, 44, 45, 46, 47], [48, 49, 50, 51, 52, 53, 54, 55, 56], [57, 58, 59, 60, 61, 62, 63, 64, 65], ]
内容的提问来源于stack exchange,提问作者Aditya Pratama
相关产品推荐
相关产品推荐

